2017-08-26 1 views
1

J'utilise l'Encodage UTF-8 Unicode (utf8mb4) et la Collation utf8mb4_unicode_520_ci pour les deux tableaux et les champs de ma base de données MySQL.caractères utf8mb4 perdus dans l'exportation/importation dans Sequel Pro

Quand exporter la base de données Sequel Pro et ouvrez le fichier sql exporté dans un éditeur de texte mon caractère de test apparaît correctement, mais quand j'importer le fichier dans Sequel Pro, il apparaît comme ???? tant dans Sequel Pro et mon application PHP/MySQL.

Dans la fenêtre d'importation, j'ai essayé Autodetect et Unicode (UTF-8) sans succès. Des idées?

De plus, existe-t-il un codage plus récent que je devrais utiliser à la place() et y a-t-il un avantage à utiliser utf8mb4_unicode_520_ci au lieu de seulement utf8mb4_unicode_ci?

Éditer/Voici une photo de ce que j'essaie de faire. Il semble que mon personnage "impair" est sur la bonne voie jusqu'à ce que j'essaie d'importer le fichier .sql dans Sequel PRO.

enter image description here

Répondre

1

Le COLLATION n'a pas d'importance, sauf pour la commande. Le CHARACTER SET compte, puisqu'il s'agit d'un code de 4 octets.

D'une manière ou d'une autre, CHARACTER SET utf8 s'est impliqué, malgré ce que vous dites. Voir "points d'interrogation" dans Trouble with utf8 characters; what I see is not what I stored pour les causes probables.

SELECT HEX(...) ... Pour vérifier que ce caractère a effectivement été stocké en tant que hex F09D8C86.

Fournissez SHOW CREATE TABLE afin que nous puissions vérifier que la colonne est utf8mb4.

Et, voyons les paramètres de connexion.

+0

Merci Rick! J'ai vérifié et l'hex renvoie 'F09D8C86' avant que je l'exporte hors de Sequel PRO, mais quand je l'importe encore il renvoie' 3F3F3F3F' (?????). 'SHOW CREATE TABLE' renvoie' utf8mb4' avant l'exportation et après l'importation. Ai-je manqué des paramètres dans Sequel PRO? – SeaBass

+0

Qu'en est-il du réglage du jeu de caractères? SET NAMES utf8mb4' (ou équivalent) est nécessaire pour annoncer que le client a des caractères UTF-8 de 4 octets. –

+0

savez-vous comment je fais ça dans Sequel PRO? Tout fonctionne dans mon application web php/mysql, et dans Sequel PRO ... jusqu'à ce que je fasse une sauvegarde/exportation dans S PRO et l'importe à nouveau. Je reçois le ???? – SeaBass