Heim > Datenbank > MySQL-Tutorial > Hauptteil

Lassen Sie uns über die Lösung für verstümmelte Daten sprechen, die in MySQL importiert werden

PHPz
Freigeben: 2023-04-21 11:37:53
Original
2658 Leute haben es durchsucht

MySQL ist ein relationales Open-Source-Datenbankverwaltungssystem, das in verschiedenen Internetanwendungen weit verbreitet ist. Die in der Datenbank gespeicherten Daten können manchmal Chinesisch enthalten, sodass beim Importieren von Daten häufig verstümmelte Zeichen auftreten. In diesem Artikel wird die Lösung für den Import verstümmelter MySQL-Daten vorgestellt.

1. Ursachenanalyse

Wenn in MySQL der Zeichensatz der Datenbank und der Zeichensatz der Datentabelle nicht konsistent sind, werden die importierten Daten verstümmelt. Daher müssen Sie vor dem Importieren von Daten sorgfältig prüfen, ob die Zeichensätze der Datenbank und der Datentabelle konsistent sind. Wenn es inkonsistent ist, muss es geändert werden.

2. Ändern Sie den Zeichensatz

  1. Um den Datenbankzeichensatz zu ändern

Zuerst müssen Sie sich bei der MySQL-Datenbank anmelden, die Datenbank aufrufen und den folgenden Befehl ausführen:

SHOW CREATE DATABASE `database_name`;
Nach dem Login kopieren

Dann können Sie das Zeichen sehen Legen Sie die Einstellungsanweisung fest, wie unten gezeigt:

CREATE DATABASE `database_name` /*!40100 DEFAULT CHARACTER SET utf8 */
Nach dem Login kopieren

Der utf8 hier ist der Zeichensatz der MySQL-Datenbank. Wenn Sie den Zeichensatz ändern müssen, können Sie die folgende Anweisung ausführen:

ALTER DATABASE `database_name` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Nach dem Login kopieren

Der utf8mb4 hier ist derselbe wie utf8 , aber es unterstützt mehr Zeichensätze. Es wird empfohlen, utf8mb4 zu verwenden.

  1. Ändern Sie den Zeichensatz der Datentabelle.

Wenn der Zeichensatz der Datenbank geändert wurde, aber beim Importieren von Daten immer noch verstümmelte Zeichen angezeigt werden, ist es wahrscheinlich, dass der Zeichensatz der Datentabelle nicht mit dem der Datenbank übereinstimmt. Sie können den Zeichensatz der Datentabelle mit dem folgenden Befehl abfragen:

SHOW CREATE TABLE `table_name`;
Nach dem Login kopieren

Dann können Sie die Einstellungen des Zeichensatzes und der Sortierregeln sehen, wie unten gezeigt:

CREATE TABLE `table_name` (
  `id` int(10) unsigned NOT NULL,
  `name` varchar(255)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
Nach dem Login kopieren

CHARSET und COLLATE sind hier der Zeichensatz und die Sortierung Regeln bzw. Sie müssen sicherstellen, dass sie mit der Datenbank konsistent sind. Der Zeichensatz ist konsistent. Wenn es inkonsistent ist, können Sie die folgende Anweisung ausführen, um es zu ändern:

ALTER TABLE `table_name` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Nach dem Login kopieren

Hinweis: Das Ändern des Zeichensatzes kann sich auf die Leistung und den Speicherplatz der Datenbank auswirken und muss mit Vorsicht gehandhabt werden.

3. Datenkodierung konvertieren

Wenn beim Importieren von Daten verstümmelte Zeichen erscheinen, können Sie versuchen, die Datenkodierung zu konvertieren. Zu den gängigen Konvertierungstools gehören iconv und recode.

  1. Verwenden Sie iconv

Mit iconv können Sie die Datenkodierung in die Zielkodierung umwandeln, beispielsweise GBK-kodierte Daten in die UTF-8-Kodierung konvertieren:

iconv -f GBK -t UTF-8 file.txt > file_utf-8.txt
Nach dem Login kopieren

-f bedeutet die ursprüngliche Kodierung, -t bedeutet die Zielkodierung, file.txt ist der ursprüngliche Datendateiname, file_utf-8.txt ist der konvertierte Dateiname.

  1. Recode verwenden

recode ähnelt iconv. Sie können auch die Datenkodierung in die Zielkodierung konvertieren, z. B. GB2312-kodierte Daten in UTF-8-Kodierung konvertieren:

recode gb2312..utf8 file.txt
Nach dem Login kopieren

gb2312 stellt die ursprüngliche Kodierung dar, utf8 repräsentiert Die Zielkodierung, Datei .txt ist der ursprüngliche Datendateiname.

Bei Verwendung des Konvertierungstools müssen Sie darauf achten, ob das Kodierungsformat der Quelldatei und das Zielkodierungsformat korrekt sind, da sonst die konvertierten Daten immer noch verstümmelt sind.

4. Zusammenfassung

Die Lösung für den verstümmelten MySQL-Datenimport umfasst die Änderung des Zeichensatzes und die Konvertierung der Datenkodierung. Beim Ändern des Zeichensatzes müssen Sie sicherstellen, dass der Datenbankzeichensatz und der Datentabellenzeichensatz konsistent sind. Bei der Konvertierung der Datenkodierung müssen Sie auf die Richtigkeit der Quelldateikodierung und der Zielkodierung achten. Wenn keine der oben genannten Methoden das Problem verstümmelter Zeichen lösen kann, liegt möglicherweise ein Problem mit der Datenquelle selbst vor und Sie müssen überprüfen, ob die Datenquelle korrekt ist.

Das obige ist der detaillierte Inhalt vonLassen Sie uns über die Lösung für verstümmelte Daten sprechen, die in MySQL importiert werden. 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