So vereinheitlichen Sie den Zeichensatz einer vorhandenen MySQL-Datenbank

So vereinheitlichen Sie den Zeichensatz einer vorhandenen MySQL-Datenbank

Vorwort

In der Datenbank sind einige Datentabellen und Daten in Latin1, einige Datentabellen und Daten in UTF8 und einige Tabellen haben eine UTF8-Struktur und Latin1-Daten.

Dies ist das erste Mal in meiner über zehnjährigen Berufserfahrung, dass ich mit einer solch merkwürdigen Situation konfrontiert bin. Lassen Sie uns darüber sprechen, wie der Zeichensatz in UTF8 vereinheitlicht werden kann

1. Erstellen Sie eine leere Datenbank

2. Exportieren Sie die Tabellenstruktur und Daten im UTF-8-Format und importieren Sie sie dann direkt in die neue Datenbank

3. Die Datentabelle und die Daten sind beide in Latin1. Exportieren Sie zuerst die Tabellenstruktur und die Daten, fügen Sie --default-character-set=latin1 hinzu, ändern Sie Latin1 in der exportierten Datei in UTF8 und importieren Sie es dann in die neue Datenbank.

4. Wenn die Tabellenstruktur UTF-8 und die Tabellendaten Latin1 sind, gibt es zwei Methoden:

4.1, exportieren Sie zuerst die Tabellenstruktur und importieren Sie sie in die neue Datenbank. Fügen Sie beim Exportieren von Daten --default-character-set=utf8 hinzu, da die Tabellenstruktur utf8 ist und die Tabellendaten latin1 sind, was beim Speichern in der Datenbank zu Verzerrungen führt. Importieren Sie die Daten in die neue Bibliothek. Diese Lösung hat Nachteile. Wenn --default-character-set=utf8 verwendet wird, können die exportierten Daten verloren gehen und beim Importieren der exportierten Daten kann ein Fehler auftreten.

4.2, Sie können für die Übertragung einen binären Zeichensatz verwenden, diese Methode wird empfohlen

UPDATE user SET user_name = CONVERT(CONVERT(CONVERT(user_name USING latin1) USING binary) USING UTF8);

Diese Methode erspart den Aufwand des Exportierens und Importierens und ist relativ schnell. Es dauert etwa 5-6 Sekunden, um 110.000 Datensätze fertigzustellen.

Das Datenbankdesign ist sehr wichtig und muss bei der Konzeption der Datenbank sorgfältig bedacht werden. Wenn das Fundament nicht solide ist, wird das Gebäude früher oder später einstürzen.

Das könnte Sie auch interessieren:
  • Tutorial zum Anzeigen und Ändern von MySQL-Zeichensätzen
  • So ändern Sie den MySQL-Zeichensatz
  • Ursachen und Lösungen für das Problem des verstümmelten Zeichensatzes in der MySQL-Datenbank
  • So ändern Sie den MySQL-Zeichensatz utf8 in utf8mb4
  • Verstümmelte Zeichen und Lösungen im MySQL-Zeichensatz
  • Detaillierte Erläuterung der JDBC-Verarbeitung des Mysql utf8mb4-Zeichensatzes
  • Lösung für Indexfehler in MySQL aufgrund unterschiedlicher Feldzeichensätze
  • So ändern Sie den Standardzeichensatz von MySQL auf dem MAC auf UTF-8
  • So legen Sie den Zeichensatz für MySQL unter Docker fest
  • So lösen Sie das Problem der Nichtübereinstimmung des MySQL-Abfragezeichensatzes
  • Detaillierte Erklärung der Zeichensätze und Validierungsregeln in MySQL

<<:  Der Fallstrickrekord des Gummi-Rebound-Effekts der iOS WeChat H5-Seite

>>:  Detailliertes Beispiel für die Bereitstellung der dynamischen und statischen Trennung von Nginx+Apache

Artikel empfehlen

So installieren Sie MySQL in Docker

Ich habe kürzlich Django bereitgestellt und wollt...

So vereinheitlichen Sie den Zeichensatz einer vorhandenen MySQL-Datenbank

Vorwort In der Datenbank sind einige Datentabelle...

So melden Sie sich unter Shell schnell ohne Kennwort bei der MySQL-Datenbank an

Hintergrund Wenn wir uns über den MySQL-Client in...

Der Nginx-Reverseproxy leitet Anfragen von Port 80 an 8080 weiter.

Lassen Sie uns zunächst eine Reihe von Konzepten ...

Auswahl und Überlegungen zur MySQL-Datensicherungsmethode

Inhaltsverzeichnis 1. rsync, cp Dateien kopieren ...

Verwenden von nginx + fastcgi zum Implementieren eines Bilderkennungsservers

Hintergrund Ein spezielles Gerät wird verwendet, ...

Detaillierte Schritte zum Erstellen eines NFS-Dateifreigabeservers unter Linux

Linux erstellt NFS-Server Um den Datenaustausch z...

CSS imitiert Fernbedienungstasten

Hinweis: Diese Demo wurde in der Miniprogrammumge...

Super einfache QPS-Statistikmethode (empfohlen)

Statistik der QPS-Werte der letzten N Sekunden (i...

Mit CSS3 erstellte Buchseitenumblättereffekte

Ergebnis:Implementierungscode: html <!-- Wenn ...

Zusammenfassung des MySQL Undo Log und Redo Log

Inhaltsverzeichnis Undo-Protokoll Erstellung und ...

Gegenseitiger Wertetransfer und Aufruf von Vue-Eltern-Kind-Komponenten

Inhaltsverzeichnis 1. Übergeordnetes Element über...

Tutorial zu HTML-Formular-Tags (4):

Nehmen Sie nun an, dass Sie dem Formular ein Elem...

Probleme bei der Installation von MySQL und mysql.sock unter Linux

Vor kurzem traten bei der Installation von Apache...