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    

Artikel empfehlen

js implementiert Tabellen-Drag-Optionen

In diesem Artikelbeispiel wird der spezifische JS...

Lösung für das MySQL Master-Slave-Verzögerungsproblem

Heute werden wir uns ansehen, warum es zu Master-...

Lösungen für das Problem der Tabellenschachtelung und Rahmenzusammenführung

【Frage】 Wenn die äußere und die innere Tabelle ve...

Bringen Sie Ihnen bei, wie Sie eine Reaktion aus HTML implementieren

Was ist React React ist eine einfache JavaScript-...

Detaillierte Erläuterung der Mysql-Funktionsaufrufoptimierung

Inhaltsverzeichnis Funktionsaufrufoptimierung Fun...

Zusammenfassung der benutzerdefinierten JavaScript-Objektmethoden

Inhaltsverzeichnis 1. Verwenden Sie Objekt, um ei...

Implementierungsschritte zur Installation von RocketMQ im Docker

Inhaltsverzeichnis 1. Rufen Sie das Bild ab 2. Br...

Uniapps Erfahrung in der Entwicklung kleiner Programme

1. Erstellen Sie ein neues UI-Projekt Zunächst ei...

Detaillierte Erklärung des Synchronisierungsmodifikators von Vue

Inhaltsverzeichnis 1. Anweisungen 2. Modifikatore...

So konfigurieren Sie geplante MySQL-Aufgaben (EVENT-Ereignisse) im Detail

Inhaltsverzeichnis 1. Was ist eine Veranstaltung?...

Zusammenfassung zur Verwendung des MySQL-Autorisierungsbefehls „grant“

So verwenden Sie den MySQL-Autorisierungsbefehl „...