Was soll ich tun, wenn die von phpmyadmin exportierte SQL-Datei verstümmelt ist?
phpMyAdmin-Version ist 2.9.1.1
Verwenden Sie phpMyAdmin, um die Datenbank nach dem Export zu sichern, wenn Sie sie lokal wiederherstellen sqlyog, der folgende Fehler ist aufgetreten:
Error occured at:2009-03-03 10:09:43 Line no.:11154 Error Code: 1062 - Duplicate entry '??????' for key 2
Öffnen Sie die SQL-Datei und sehen Sie sich den Mitgliedsbenutzernamen unter der Mitgliedschaftstabelle an, alles ähnlich wie ???, ????, weil viele Programme jetzt Unterstützen Sie den chinesischen Benutzernamen, und der Benutzername ist eindeutig. Wenn wir diese verstümmelten Daten importieren, ist bereits ein Benutzername wie ?????? vorhanden , es wird ein Fehler gemeldet
Wenn Sie über die Systemsteuerung verfügen, können Sie die Daten mit dem folgenden Befehl exportieren. Es werden keine verstümmelten Zeichen angezeigt und beim Wiederherstellen ist alles normal
mysqldump -uroot -p --default-character-set=utf8 --set-charset --skip-opt dbname > newdbname.sql
Aber jetzt kann ich phpMyAdmin nur zum Exportieren verwenden. Nach langem Testen habe ich festgestellt, dass die exportierte SQL-Datei gb2312 ist Tabellen enthalten chinesische Zeichen und die chinesischen Zeichen sind verstümmelte Zeichen. Wenn die Sprache von phpMyAdmin „Chinesisch-Chinesisch vereinfacht (d. h. utf8)“ ist, ist der Zeichensatz der exportierten SQL-Datei utf8 (verwenden Sie Notepad++, um das Format anzuzeigen). was zeigt, dass es sich um UTF-8 ohne BOM-Formatkodierung handelt). Unten im Menü und wählen Sie dann „Exportieren“ aus. Die heruntergeladene SQL-Datei kann normal angezeigt werden.
Verwenden Sie den folgenden Befehl, um
mysql -uroot -p --default-character-set=utf8 newdbname < newdbname.sql
wiederherzustellen. Ursprünglich wollte ich die Standardsprache von phpMyAdmin in „中文-chinesisch vereinfacht“ ändern, habe aber versucht, config.inc.php und config.default zu ändern .php ist nutzlos, es spielt schließlich keine Rolle, dass verschiedene Leute unterschiedliche Kodierungen für die Datenbank wählen oder sie standardmäßig auf „中文-Chinesisch“ festlegen müssen. gb2312"!
Eine andere Vermutung ist, dass die exportierte Dateicodierung gb2312 ist, sodass Sie eine Konvertierung von gb2312 in utf8 in Betracht ziehen können. Diese Methode wird getestet.
Das obige ist der detaillierte Inhalt vonWas soll ich tun, wenn die von phpmyadmin exportierte SQL-Datei verstümmelt ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!