1. Aufgetretene ProblemeBeim Speichern chinesischer Schriftzeichen in der Datenbank ist mir folgendes Problem begegnet:
2. Analysieren Sie das ProblemDies liegt an einem Problem mit dem Datenbankdesign. Beim Erstellen der Datenbank wurde der Standard direkt ausgewählt, ohne ihn auf UTF-8 zu ändern. Später habe ich versucht, es manuell zu ändern, aber es hat immer noch nicht funktioniert . Ich habe versucht, die Standardfelder der Datenbank und Tabelle auf UTF-8 zu ändern, aber chinesische Zeichen können immer noch nicht gespeichert werden. 3. Das eigentliche Problem
4. LösungExportieren Sie unsere Datenbank als SQL-Datei: /* SQLyog Enterprise v12.08 (64 Bit) MySQL – 5.7.31: Datenbank – data_test ********************************************************************* */ /*!40101 NAMEN FESTLEGEN utf8 */; /*!40101 SET SQL_MODE=''*/; /*!40014 SETZEN @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; /*!40014 SETZEN @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; DATENBANK ERSTELLEN /*!32312 WENN NICHT VORHANDEN*/`data_test` /*!40100 STANDARDZEICHENSATZ latin1*/; VERWENDEN Sie „data_test“; /*Tabellenstruktur für Tabelle „Benutzer“ */ DROP TABLE, WENN `Benutzer` EXISTIERT; CREATE TABLE `Benutzer` ( `user_id` int(11) NICHT NULL AUTO_INCREMENT, `user_name` varchar(50) CHARACTER SET latin1 NOT NULL KOMMENTAR 'Konto', `Passwort` varchar(50) ZEICHENSATZ latin1 NICHT NULL KOMMENTAR 'Passwort', `user_state` varchar(10) CHARACTER SET latin1 NOT NULL DEFAULT '1' COMMENT 'Status, logische Löschung', PRIMÄRSCHLÜSSEL (`user_id`) ) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=latin1; /*Daten für die Tabelle „Benutzer“ */ SPERRT TABELLEN `Benutzer` SCHREIBEN; in `Benutzer`(`Benutzer-ID`,`Benutzername`,`Passwort`,`Benutzerstatus`) Werte einfügen (1,'keafmd','keafmd','1'),(3,'21312321','123','0'),(11,'213','213','1'),(12,'keafmd','666','0'); TABELLEN ENTSPERREN; /*!40101 SET SQL_MODE=@OLD_SQL_MODE */; /*!40014 SETZEN SIE FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; /*!40014 SETZEN SIE UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
Die ersetzte SQL-Datei: /* SQLyog Enterprise v12.08 (64 Bit) MySQL – 5.7.31: Datenbank – data_test ********************************************************************* */ /*!40101 NAMEN FESTLEGEN utf8 */; /*!40101 SET SQL_MODE=''*/; /*!40014 SETZEN @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; /*!40014 SETZEN @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; DATENBANK ERSTELLEN /*!32312 WENN NICHT VORHANDEN */`data_test` /*!40100 STANDARDZEICHENSATZ utf8 */; VERWENDEN Sie „data_test“; /*Tabellenstruktur für Tabelle „Benutzer“ */ DROP TABLE, WENN `Benutzer` EXISTIERT; CREATE TABLE `Benutzer` ( `user_id` int(11) NICHT NULL AUTO_INCREMENT, `user_name` varchar(50) CHARACTER SET utf8 NOT NULL KOMMENTAR 'Konto', `Passwort` varchar(50) ZEICHENSATZ utf8 NICHT NULL KOMMENTAR 'Passwort', `user_state` varchar(10) CHARACTER SET utf8 NOT NULL DEFAULT '1' COMMENT 'Status, logische Löschung', PRIMÄRSCHLÜSSEL (`user_id`) ) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8; /*Daten für die Tabelle „Benutzer“ */ SPERRT TABELLEN `Benutzer` SCHREIBEN; in `Benutzer`(`Benutzer-ID`,`Benutzername`,`Passwort`,`Benutzerstatus`) Werte einfügen (1,'keafmd','keafmd','1'),(3,'21312321','123','0'),(11,'213','213','1'),(12,'keafmd','666','0'); TABELLEN ENTSPERREN; /*!40101 SET SQL_MODE=@OLD_SQL_MODE */; /*!40014 SETZEN SIE FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; /*!40014 SETZEN SIE UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; Wählen Sie SQL-Skript ausführen und wählen Sie die geänderte SQL-Datei aus Überprüfen Sie nun die Tabelleninformationen
5. LösungseffektTesten Sie, ob das Problem wirklich gelöst ist: Damit ist dieser Artikel über MySQL-Grundlagen – So beheben Sie Fehler beim Speichern chinesischer Zeichen in der Datenbank – abgeschlossen. Weitere Informationen zum Beheben von Fehlern beim Speichern chinesischer Zeichen in der Datenbank finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den verwandten Artikeln weiter unten. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
<<: Erfahren Sie, wie Sie die Selbstüberwachung von Apache SkyWalking schnell aktivieren
>>: Erfahren Sie mehr über das V-Modell und seine Modifikatoren in einem Artikel
Vorwort Beim Erstellen einer Seite stoßen wir häu...
Einführung in Angular Angular ist ein von Google ...
Genau wie bei Code können Sie den Tabellen und Sp...
In vertikaler Richtung können Sie die Zellenausri...
Join verwendet den Nested-Loop-Join-Algorithmus. ...
Bevor wir Docker offiziell verwenden, machen wir ...
Es ist wirklich nicht einfach, eine gute Rekonstr...
Was tun, wenn Sie Ihr Linux/Mac MySQL-Passwort ve...
Hintergrund: Es gibt ein Flask-Projekt, das eine ...
Ich habe gerade einen von JunChen verfassten Beitr...
Hintergrund PNG-Bilder benötigen mehr Speicherpla...
Inhaltsverzeichnis Index - Allgemeiner Index - Ei...
Beim Konfigurieren des Nginx-Reverse-Proxys könne...
Vorwort Wenn die Abfrageinformationen aus mehrere...
Die Standard-SSH-Portnummer von Linux-Servern ist...