Detaillierte Erklärung des Problems mit verstümmelten chinesischen Schriftzeichen in der MySQL-Datenbank

Detaillierte Erklärung des Problems mit verstümmelten chinesischen Schriftzeichen in der MySQL-Datenbank

Beim insert into employee values(null,'張三','female','1995-10-08','2015-11-12','Sales',2000,'是個好員工!') ; und dabei unleserliche Zeichen erscheinen, können Sie die Anweisung show variables like 'character%' ;“ verwenden, um den entsprechenden Kodierungssatz der aktuellen Datenbank anzuzeigen.

Aus der obigen Abbildung können Sie ersehen, dass MySQL an sechs Stellen Zeichensätze verwendet: Client, Verbindung, Datenbank, Ergebnisse, Server und System. Darunter diejenigen, die sich auf die Serverseite beziehen: Datenbank, Server, System (kann nie geändert werden, es ist UTF-8); diejenigen, die sich auf die Clientseite beziehen: Verbindung, Client, Ergebnisse.

Kunde
Der vom Client verwendete Zeichensatz.
Verbindung
Legt den Zeichensatztyp für die Verbindung mit der Datenbank fest. Wenn das Programm den für die Verbindung mit der Datenbank verwendeten Zeichensatztyp nicht angibt, wird der Standardzeichensatz auf dem Server verwendet.
Datenbank
Der von einer Bibliothek im Datenbankserver verwendete Zeichensatz. Wenn er beim Erstellen der Bibliothek nicht angegeben wird, wird der bei der Installation des Servers angegebene Zeichensatz verwendet.
Ergebnisse
Der von der Datenbank verwendete Zeichensatz bei der Rückgabe von Daten an den Client. Wenn nicht angegeben, wird der Standardzeichensatz des Servers verwendet.
Server
Der bei der Installation des Servers angegebene Standardzeichensatz.
System
Der vom Datenbanksystem verwendete Zeichensatz.

Nachdem wir die obigen Informationen verstanden haben, analysieren wir die Ursache für die verstümmelten Zeichen. Das Problem liegt im aktuellen CMD-Clientfenster, da die aktuelle CMD-Clienteingabe GBK-Kodierung verwendet und das Datenbankkodierungsformat UTF-8 ist. Die inkonsistente Kodierung führt zu verstümmelten Zeichen. Das aktuelle Kodierungsformat des CMD-Clients kann nicht geändert werden. Die einzige Möglichkeit besteht darin, den Kodierungssatz von Verbindung, Client und Ergebnissen zu ändern, um den Server darüber zu informieren, dass die aktuell eingefügten Daten die GBK-Kodierung verwenden. Obwohl die Datenbank des Servers die UTF-8-Kodierung verwendet, kann sie die dem Server mitgeteilten GBK-kodierten Daten erkennen und sie zur Speicherung automatisch in UTF-8 konvertieren. Mit der folgenden Anweisung können Sie den auf den Client bezogenen Kodierungssatz schnell festlegen:

  • Namen festlegen gbk;

Nachdem die Einstellungen abgeschlossen sind, kann das Problem der verstümmelten Daten, die auf dem Client eingefügt oder angezeigt werden, gelöst werden. Wir werden jedoch bald feststellen, dass diese Art der Einstellung nur im aktuellen Fenster gültig ist. Wenn das Fenster geschlossen und der CMD-Client erneut geöffnet wird, tritt das verstümmelte Problem erneut auf. Wie kann man also eine endgültige Einstellung vornehmen? Im MySQL-Installationsverzeichnis befindet sich eine my.ini-Konfigurationsdatei. Durch Ändern dieser Konfigurationsdatei kann das Problem der verstümmelten Zeichen ein für alle Mal gelöst werden. In dieser Konfigurationsdatei bezieht sich [mysql] auf die Client-Konfiguration und [mysqld] auf die Server-Konfiguration. Die Standardkonfiguration ist wie folgt:

  • [mysql]
  • Standardzeichensatz = utf8
  • [mysqld]
  • Zeichensatzserver = utf8

Zu diesem Zeitpunkt müssen Sie nur die Standardkodierung default-character-set=utf8 in default-character-set=gbk ändern und den MySQL-Dienst neu starten.

Zusammenfassen

Oben ist das vom Herausgeber eingeführte Problem der chinesischen verstümmelten Schriftzeichen in der MySQL-Datenbank beschrieben. Ich hoffe, es wird allen helfen. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Herausgeber wird Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken!

Das könnte Sie auch interessieren:
  • Lösung für verstümmelte chinesische Schriftzeichen beim Verbinden von Java mit einer Oracle-Datenbank
  • Lösung für das Problem des chinesischen verstümmelten Codes in der Mac Mysql-Datenbank
  • Springboot und Datenbank geben Daten verstümmelt auf Chinesisch zurück

<<:  Lösung für das Problem, dass nach einem Neustart von Ubuntu in VMWare kein Zugriff auf das Internet möglich ist

>>:  Mini-Programm implementiert benutzerdefinierte mehrstufige Einzelauswahl und Mehrfachauswahl

Artikel empfehlen

Detaillierte Erläuterung der SSHD-Dienste und Dienstverwaltungsbefehle unter Linux

sshd SSH ist die Abkürzung für Secure Shell, ein ...

So verwenden Sie Verbindungen der Physik-Engine in CocosCreator

Inhaltsverzeichnis Mausgelenk Mausgelenk AbstandG...

Linux Bash: ./xxx: Fehler „Binärdatei kann nicht ausgeführt werden“

Heute habe ich einem Kunden ein kleines Tool für ...

Implementierung der Docker-Bereitstellung eines MySQL-Clusters

Nachteile einer Single-Node-Datenbank Große Inter...

Eine kurze Diskussion über den CSS-Kaskadierungsmechanismus

Warum hat CSS einen Kaskadierungsmechanismus? Da ...

CSS-Tricks zum Erstellen von Welleneffekten

Es war schon immer sehr schwierig, Welleneffekte ...

TypeScript-Aufzählungstypen im Detail erklären

Inhaltsverzeichnis 1. Digitale Aufzählung 2. Zeic...

Die Vorteile von Div+CSS und Web-Standardseiten

Das Div-Element wird verwendet, um Struktur und Hi...

JavaScript-Grundlagen: Geltungsbereich

Inhaltsverzeichnis Umfang Globaler Umfang Funktio...

MySQL Master-Slave-Prinzip und Konfigurationsdetails

MySQL Master-Slave-Konfiguration und Prinzip, zu ...