Heim > Datenbank > MySQL-Tutorial > Hauptteil

Was soll ich tun, wenn MySQL kein Chinesisch verwenden kann?

PHPz
Freigeben: 2023-04-21 10:18:35
Original
3794 Leute haben es durchsucht

MySQL ist ein gängiges relationales Datenbankverwaltungssystem. Für viele Entwickler ist es zu einer Notwendigkeit für die Entwicklungsarbeit geworden. Bei der Verwendung von MySQL können jedoch viele Benutzer auf das Problem „Chinesisch kann nicht verwendet werden“ stoßen.

MySQLs Unfähigkeit, Chinesisch zu verwenden, äußert sich hauptsächlich in zwei Aspekten: Einerseits in den verstümmelten chinesischen Zeichen in der MySQL-Befehlszeilenschnittstelle und andererseits im Problem der Speicherung und Abfrage chinesischer Zeichen in der MySQL-Datenbank. In diesem Artikel werden diese beiden Aspekte von Problemen im Detail untersucht und entsprechende Lösungen bereitgestellt.

Chinesische verstümmelte Zeichen in der MySQL-Befehlszeilenschnittstelle

Die MySQL-Befehlszeilenschnittstelle ist eine Kernfunktion von MySQL. Entwickler können in dieser Schnittstelle verschiedene Befehle ausführen. Viele Benutzer werden jedoch verstümmelte chinesische Zeichen vorfinden, wenn sie die MySQL-Befehlszeilenschnittstelle verwenden. Dies liegt hauptsächlich daran, dass der Standardzeichensatz von MySQL „latin1“ anstelle von „utf8“ ist.

Im Folgenden wird beschrieben, wie das chinesische verstümmelte Problem in der MySQL-Befehlszeilenschnittstelle gelöst wird.

Methode 1: Geben Sie einen Benutzernamen an, der chinesische Zeichensätze unterstützt, indem Sie den Parameter „-u“ hinzufügen, wenn Sie das Befehlszeilentool „mysql“ verwenden.

Verwenden Sie zum Beispiel den folgenden Befehl, um den Benutzernamen „root“ und das Passwort „password“ anzugeben:

mysql -u root -ppassword
Nach dem Login kopieren

Methode 2: Verwenden Sie den folgenden Befehl, um den aktuellen MySQL-Standardzeichensatz anzuzeigen:

mysql> show variables like '%character%';
Nach dem Login kopieren

Dieser Befehl wird angezeigt die aktuellen Zeichensatzeinstellungen. Darunter sind die Werte der drei Parameter „character_set_client“, „character_set_connection“ und „character_set_results“ alle „latin1“.

Um das chinesische verstümmelte Problem in der Befehlszeilenschnittstelle zu lösen, müssen Sie die Werte dieser drei Parameter in „utf8“ ändern. Der Zweck kann durch den folgenden Befehl erreicht werden:

mysql> set character_set_client=utf8;
mysql> set character_set_connection=utf8;
mysql> set character_set_results=utf8;
Nach dem Login kopieren

Methode 3: Ändern Sie die MySQL-Konfigurationsdatei „my.cnf“.

Suchen Sie in der MySQL-Konfigurationsdatei die folgenden drei Codezeilen:

character-set-client-handshake = FALSE 
character-set-server = utf8mb4 
collation-server = utf8mb4_unicode_ci
Nach dem Login kopieren

Entfernen Sie die Kommentare dieser drei Codezeilen und ändern Sie den Wert in „utf8“, wie unten gezeigt:

character-set-client-handshake = FALSE 
character-set-server = utf8 
collation-server = utf8_general_ci
Nach dem Login kopieren

Speicherung chinesischer Zeichen in der MySQL-Datenbank und Abfrageprobleme

Zusätzlich zu dem verstümmelten Chinesisch-Problem in der Befehlszeilenschnittstelle kann es auch in der MySQL-Datenbank selbst zu Problemen bei der Speicherung chinesischer Zeichen und bei Abfragen kommen.

Wenn wir beispielsweise Daten mit chinesischen Schriftzeichen in die MySQL-Datenbank einfügen, kann der folgende Fehler auftreten:

Incorrect string value: '\xE5\xBC\xA0\xE4\xB8\x89' for column 'name' at row 1
Nach dem Login kopieren

Dies liegt daran, dass der Standardzeichensatz von MySQL „latin1“ und nicht „utf8“ ist. Wenn Sie das Erstellen von Tabellen und das Speichern von Daten auf Chinesisch unterstützen möchten, müssen Sie den Zeichensatz der Tabellenstruktur auf „utf8“ setzen.

Im Folgenden wird beschrieben, wie das Problem der Speicherung und Abfrage chinesischer Zeichen in der MySQL-Datenbank gelöst werden kann.

Methode 1: Lösen Sie das Problem, indem Sie beim Erstellen der Tabelle den Zeichensatz „utf8“ angeben.

Verwenden Sie beispielsweise den folgenden Befehl, um eine Tabelle mit dem Namen „Person“ zu erstellen und den Zeichensatz des Felds „Name“ in der Tabelle auf „utf8“ festzulegen:

CREATE TABLE person (
  id INT UNSIGNED NOT NULL AUTO_INCREMENT,
  name VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  PRIMARY KEY (id)
) DEFAULT CHARSET=utf8;
Nach dem Login kopieren

Methode 2: Legen Sie die Standardzeichen in der MySQL-Konfiguration fest file Auf „utf8“ setzen, sodass alle Tabellen standardmäßig diesen Zeichensatz verwenden.

Suchen Sie in der MySQL-Konfigurationsdatei die folgenden zwei Codezeilen:

character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
Nach dem Login kopieren

Entfernen Sie die Kommentare dieser beiden Codezeilen und ändern Sie den Wert in „utf8“, wie unten gezeigt:

character-set-server=utf8
collation-server=utf8_general_ci
Nach dem Login kopieren

Für vorhandene Tabellen können Sie pass Der folgende Befehl ändert den Zeichensatz der Tabellenstruktur:

ALTER TABLE tablename CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
Nach dem Login kopieren

Fazit

Es liegt ein Problem mit dem chinesischen Zeichensatz vor, sei es in der Befehlszeilenschnittstelle oder in der MySQL-Datenbank. Wenn Sie auf ein solches Problem stoßen, lösen Sie es bitte gemäß den in diesem Artikel beschriebenen Methoden. Durch Anpassen des Zeichensatzes können Sie chinesische Daten problemlos abfragen und speichern und verschiedene Probleme vermeiden, die bei der Verarbeitung chinesischer Zeichen auftreten.

Das obige ist der detaillierte Inhalt vonWas soll ich tun, wenn MySQL kein Chinesisch verwenden kann?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage