mysqldump mit utf8 kann nicht exportieren die richtigen emojis string

Ich bin mit MySQL 5.5.29, utf8mb4 charset, es gibt eine Tabelle user mit einem Feld nickname mit dem Wert hex F09F988EF09F988E übersetzt die emojis ??.

Öffnen Sie nun die MySQL-Konsole, und führen Sie aus:


set names utf8mb4;
select nickname, hex(nickname) from user;

nickname | hex(nickname)
---------+-----------------
??    | F09F988EF09F988E

Und dann ausführen:

mysqldump --default-character-set=utf8 -utest -ptest test_dev user > user.sql

Überprüfen Sie die user.sql und finden den Spitznamen display ?? dem hex-string ist 3f

So, wie kann man mit mysqldump UTF8 export-die richtigen emojis string?


btw, die Datenbank-Zeichensatz envionments konfiguriert wie folgt:
zeigen Sie Variablen wie " character_set_%':

'character_set_client', 'utf8mb4'
'character_set_connection', 'utf8mb4'
'character_set_database', 'utf8mb4'
'character_set_filesystem', 'binary'
'character_set_results', 'utf8mb4'
'character_set_server', 'utf8mb4'
'character_set_system', 'utf8'
'character_sets_dir', '/data/mysql/share/charsets/'
  • Was passiert, wenn 1) Sie können ändern Sie den Standard-Zeichensatz auf "--default-character-set=utf8mb4" 2) exportieren Sie direkt in eine Datei z.B. ausführen "mysqldump --default-character-set=utf8mb4 -utest -ptest test_dev Benutzer -r Benutzer.sql"
  • Auch haben Sie versucht, re-Import der Daten? Es kann nur sein, dass dein editor zeigt die Fragezeichen, wie es nicht die richtigen Zeichen im font.
InformationsquelleAutor user3036278 | 2013-11-26
Schreibe einen Kommentar