Kann kein chinesisches Zeichen in MySQL einfügen

7

Der Cookie ist mit dem big5-Set codiert und kann nicht in MySQL eingefügt werden. Könnten Sie mir helfen, dieses Problem zu lösen?

Felder: username ist eng, date1 ist Datum, reason1 ist ein chinesisches Zeichen.

%Vor%     
user1902899 22.01.2013, 10:24
quelle

4 Antworten

22

Verwenden Sie UTF-8 , wenn Sie eine Tabelle erstellen.

%Vor%

Verwenden Sie UTF-8 , wenn Sie in Tabelle

einfügen %Vor%

Lesen Mehr

And More

Detaillierter Code

Unten Code ist getesteter Code bitte tun Sie das folgende seine Arbeit.

Wenn Sie bereits eine Datenbank erstellt haben, ändern Sie sie bitte wie folgt. Und wenn Sie keine Datenbank erstellt haben, erstellen Sie sie und setzen Sie Collation auf utf8_unicode_ci

Und dasselbe für Tabelle definieren Collation als "utf8_unicode_ci" für Tabellenfelder, in denen Sie chines Zeichen speichern möchten.

%Vor% %Vor%

Sehen Sie sich das Ergebnis und den Schritt visuell an.

    
Dipesh Parmar 22.01.2013, 10:28
quelle
0

Für Chinesen brauchen Sie wirklich utf8mb4 , nicht utf8 . Dies liegt an einer kleinen Anzahl von chinesischen Zeichen, für die 4-Byte-UTF8-Zeichen erforderlich sind, die von MySQLs utf8 nicht unterstützt werden.

    
Rick James 24.07.2016 02:02
quelle
0

Das eigentliche Problem ist, dass der Cookie in big5 kodiert ist? Ist der Rest der Daten im Client als utf8 codiert? Wenn 'Ja' zu beiden, ...

Ändern Sie die Verbindung zu big5 , machen Sie INSERT / SELECT des Cookies und wechseln Sie dann zurück zu utf8 (oder besser, utf8mb4 nach dem Upgrade).

Das Ausführen von SET NAMES big5 oder das Aufrufen der charset('big5') -Funktion für die von Ihnen verwendete API ist der bevorzugte Weg, um hin und her zu wechseln.

(Verlassen Sie sich von der mysql_* -Schnittstelle; wechseln Sie zu mysqli_* oder PDO .)

Wenn alles im Client big5 ist, müssen Sie nicht hin und her wechseln. Erklären Sie einfach, dass der Client big5 verwendet. Hinweis: Es spielt keine Rolle, ob die Tabelle / Spalte auch big5 ist; MySQL wird zwischen ihnen konvertieren.

    
Rick James 07.12.2016 19:25
quelle
0

aktualisiert den Zeichensatz der Tabellenspalten auch mit utf8 zusammen mit dem Tabellenzeichensatz. Check in Mysql Workbench alter table und siehe Zeichensatz der Spalten, die chinesische Schriftzeichen unterstützen sollen.

    
phvish 13.04.2017 10:23
quelle