Heim > Datenbank > MySQL-Tutorial > Wie repariert man beschädigte UTF-8-Kodierung in MySQL-Datenbanken?

Wie repariert man beschädigte UTF-8-Kodierung in MySQL-Datenbanken?

Patricia Arquette
Freigeben: 2024-12-07 07:58:13
Original
574 Leute haben es durchsucht

How to Repair Corrupted UTF-8 Encoding in MySQL Databases?

Reparieren beschädigter UTF-8-Kodierung

Dieser Artikel befasst sich mit dem Problem der fehlerhaften UTF-8-Verschlüsselung in MySQL-Datenbanken. Das Problem äußert sich in verstümmelten Zeichen wie „î“, wenn PHP 5 mit einer utf8_general_ci-Sortierung verwendet wird und ein korrekter UTF-8-Header festgelegt ist.

Zuordnung beschädigter Zeichen

Die folgende Funktion kann verwendet werden, um Instanzen beschädigter Zeichen dem entsprechenden korrekten UTF-8 zuzuordnen Zeichen:

function fixUtf8($string) {
  $replacements = array(
    "î" => "®",
    "í" => "í",
    "ü" => "ü"
  );
  
  return str_ireplace(array_keys($replacements), array_values($replacements), $string);
}
Nach dem Login kopieren

Datenbank-Dump und Wiederherstellung

Ein anderer Ansatz besteht darin, die Datenbankdaten zu sichern und neu zu laden, um doppelt codierte UTF-8-Zeichen aufzulösen:

mysqldump -h DB_HOST -u DB_USER -p DB_PASSWORD --opt --quote-names \
    --skip-set-charset --default-character-set=latin1 DB_NAME > DB_NAME-dump.sql

mysql -h DB_HOST -u DB_USER -p DB_PASSWORD \
    --default-character-set=utf8 DB_NAME < DB_NAME-dump.sql
Nach dem Login kopieren

Diese Methode löst das Problem normalerweise effektiv.

Das obige ist der detaillierte Inhalt vonWie repariert man beschädigte UTF-8-Kodierung in MySQL-Datenbanken?. 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage