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

Anfänger verstehen das MySQL-Deadlock-Problem anhand des Quellcodes

Nach vielen schwierigen Einzelschritt-Debuggings ...

Lösung für mehrere Docker-Container, die nicht die gleiche Portnummer haben

Hintergrund In Docker werden vier Container mit d...

Beispiele für häufige Nginx-Fehlkonfigurationen

Inhaltsverzeichnis Fehlender Stammspeicherort Off...

Miniprogramm zur Implementierung der Rechnerfunktion

In diesem Artikelbeispiel wird der spezifische Co...

Verwendung und Beispiele für Linux-Befehle zur Echotextverarbeitung

Die Beschreibung von echo im Linux-Hilfedokument ...

Implementierung von Socket-Optionen in der Linux-Netzwerkprogrammierung

Socket-Optionsfunktion Funktion: Methoden zum Les...

Detaillierte Erklärung der wechselseitigen Verwendung von Ref in React

Inhaltsverzeichnis 1. Lassen Sie uns zunächst erk...

Implementierung eines einfachen Altersrechners auf Basis von HTML+JS

Inhaltsverzeichnis Vorwort Demonstrationseffekt H...

Index in MySQL

Vorwort Kommen wir gleich zur Sache. Die folgende...

Beispielcode für die benutzerdefinierte Scroll-Ansicht des WeChat-Applets

Miniprogramm Benutzerdefinierte Scroll-View-Bildl...

5 Tipps zum Schutz Ihres MySQL Data Warehouse

Durch die Aggregierung von Daten aus verschiedene...

Wie wirkt sich der zusammengesetzte Index von MySQL aus?

Inhaltsverzeichnis Hintergrund Zusammengesetzte I...