Bei Verwendung von mysql5.7 werden Sie feststellen, dass nach dem Schreiben von Chinesisch in die Datenbank über das Web-End verstümmelte Zeichen angezeigt werden. Nach dem direkten Ausführen der SQL-Anweisung Einfügen von Daten in die Datenbank werden jedoch die chinesischen Zeichen angezeigt Dieses Problem wird normal angezeigt. Der Herausgeber wird die Lösung unten mit Ihnen teilen.
Wenn Sie mysql5.7 verwenden, werden Sie feststellen, dass nach dem Schreiben von Chinesisch in die Datenbank über das Internet verstümmelte Zeichen angezeigt werden Ende, aber wenn Sie die SQL-Anweisung direkt in der Datenbank ausführen, werden chinesische Zeichen nach dem Einfügen normal angezeigt. Der Datenkodierungsprozess und die Prinzipien von MySQL werden hier nicht erläutert. Wenn Sie interessiert sind, können Sie es selbst tun.
Im Folgenden werden wir die folgenden Operationen direkt verwenden, um das Problem zu lösen:
1. Öffnen Sie die MySQL-Konsole und geben Sie den Befehl show variables like 'character%';
Die Anzeige sieht wie folgt aus:+--------------------------+-------------------------------------------+ | Variable_name | Value | +--------------------------+-------------------------------------------+ | character_set_client | latin1 | | character_set_connection | latin1 | | character_set_database | utf8 | | character_set_results | latin1 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | C:\MySQL\MySQL Server 5.0\share\charsets\ | +--------------------------+-------------------------------------------+
2. Ändern Sie die Datei my.ini
[client] default-character-set=utf8 [mysqld] default-storage-engine=INNODB character-set-server=utf8 collation-server=utf8_general_ci
3. Verwenden Sie die Befehl im ersten Schritt, der nach dem Neustart angezeigt werden soll, wie folgt:
+--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | latin1 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | latin1 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+
von Character_set_database und Character_set_server ist immer noch latin1.
4. Geben Sie den Befehl ein: set labels utf8;Verwenden Sie nach dem Neustart den ersten Schrittbefehl, um Folgendes anzuzeigen:
Außer zeichen_set_dateisystem ist binär, außer dass alles andere utf8 ist. Wenn Sie es auf der Webseite auch auf utf8-Kodierung einstellen, können Sie es normal in die Datenbank eingeben.+--------------------------+------------------------------------------------+ | Variable_name | Value | +--------------------------+------------------------------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | C:\wamp64\bin\mysql\mysql5.7.9\share\charsets\ | +--------------------------+------------------------------------------------+
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Lösung des chinesischen verstümmelten Problems in Mysql5.7. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!