Heim  >  Artikel  >  Datenbank  >  So lösen Sie das Problem verstümmelter Zeichen in MySQL

So lösen Sie das Problem verstümmelter Zeichen in MySQL

藏色散人
藏色散人Original
2020-11-02 09:59:271993Durchsuche

Lösung für verstümmelte Zeichen in MySQL: Öffnen Sie zuerst den Ordner serverMySQL; öffnen Sie dann die Datei my.ini und fügen Sie schließlich den Code „character_set_server=gbk“ hinzu.

So lösen Sie das Problem verstümmelter Zeichen in MySQL

Empfohlen: „MySQL-Video-Tutorial

Java-Website, MySQL-Datenbank, einzelnes Textproblem mit verstümmeltem Text

Das verstümmelte Problem ist sehr problematisch, insbesondere eine sehr kleine Menge verstümmelter Zeichen. Hier möchte ich ein Problem mit verstümmeltem Code teilen, das während der persönlichen Entwicklung aufgetreten ist. Ich hoffe, es wird für alle hilfreich sein.

Methoden/Schritte

Überprüfen Sie den Ort, an dem verstümmelte Zeichen erscheinen – die Rezeption.

Hier überprüfte der Redakteur die Front-End-JSP-Seite über das Firebug-Tool des Firefox-Browsers und stellte fest, dass es sich bei den geposteten Daten tatsächlich um UTF8-Daten handelte. Daher ist es ausgeschlossen, dass bei der Übertragung von Daten im Vordergrund verstümmelte Zeichen entstehen.

Überprüfen Sie, wo die verstümmelten Zeichen erscheinen – den Hintergrund.

Da meine Kollegen Struts Formbean verwenden, um Front-End-Daten zu empfangen, weiß ich nicht viel darüber, also habe ich eine dumme Methode verwendet: Finden Sie den Datenübertragungsprozess, der verstümmelten Code generiert, und fügen Sie jeder übergebenen Methode eine Ausgabe hinzu Sehen Sie sich dabei die Ausgabedaten im Hintergrund an.

Daher sind auch diese Daten normal.

Überprüfen Sie, wo die verstümmelten Zeichen erscheinen – MySQL-Datenbank.

Wenn Front- und Backend ausgeschlossen werden, bleibt nur die Datenbank übrig. Dann liegt das Problem bei der Datenbank.

Der Herausgeber hat die verstümmelten chinesischen Schriftzeichen zunächst direkt in der Datenbank aufgezeichnet und festgestellt, dass sie gespeichert werden können. Fehlerbehebung bei Textkodierungsproblemen in Datenbanktabellen.

Danach führte der Editor eine Abfrage in der Tool-Software durch (Anweisung: Variablen wie „%char%“ anzeigen;) und das Ergebnis ist wie unten dargestellt. Das Problem wurde sofort entdeckt: Da die chinesischen Schriftzeichen in gb2312 nicht vollständig sind, werden einige chinesische Schriftzeichen zu diesem Zeitpunkt zwangsweise in „?“ konvertiert verloren und kann nicht wiederhergestellt werden.

So lösen Sie das Problem verstümmelter Zeichen in MySQL

Detaillierte Erklärung des Grundes:

Es gibt tatsächlich mehrere Konvertierungsverfahren für die Dateneingabe und -ausgabe in die MySQL-Datenbank.

Bei der Eingabe: Character_set_client zu Character_set_connection zu Character_set_server und in der Datenbank gespeichert.

Beim Herausnehmen: Die Datenbank wird herausgenommen und in „character_set_server“ in „character_set_result“ konvertiert.

Jetzt sollte jeder verstehen, dass die in die Datenbank ein- und ausgehenden Daten vom Character_set_server konvertiert werden müssen. Unabhängig davon, ob es sich um das richtige chinesische Schriftzeichen an der Rezeption oder das richtige chinesische Schriftzeichen in der Datenbank handelt, solange es nicht in gb2312 enthalten ist, es wird in ein Fragezeichen umgewandelt.

Lösung:

Eine ein für alle Mal gelöste Lösung: Der Editor hat die my.ini-Datei direkt im serverMySQL-Ordner geändert.

Der Änderungsprozess ist: Suchen Sie [mysqld] und suchen Sie dann ein paar Zeilen nach unten, um „default_character_set=utf8“ zu finden, und fügen Sie unter dieser Zeile eine Zeile „character_set_server=gbk“ hinzu.

Natürlich ist es nicht notwendig, gbk zu verwenden. Der Herausgeber hat die nationale Standarderweiterung, also die Erweiterung gbk von gb2312, verwendet, nur um vorsichtig zu sein.

Das obige ist der detaillierte Inhalt vonSo lösen Sie das Problem verstümmelter Zeichen in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn