首頁 >資料庫 >mysql教程 >如何修復 MySQL 資料庫中損壞的 UTF-8 編碼?

如何修復 MySQL 資料庫中損壞的 UTF-8 編碼?

Patricia Arquette
Patricia Arquette原創
2024-12-07 07:58:13574瀏覽

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

修正損壞的 UTF-8 編碼

本文解決了 MySQL 資料庫中的 memperbaiki pengkodean UTF-8 yang rakus 問題。當 PHP 5 與 utf8_general_ci 排序規則一起使用並且設定了正確的 UTF-8 標頭時,該問題表現為像「à®」這樣的亂碼。

損壞字元的對應

以下函數可用於將損壞的字元實例對應到其對應的正確UTF-8字元:

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

資料庫轉儲和復原

另一種方法涉及轉儲資料庫資料並重新載入它以解析雙編碼的UTF-8 字元:

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

此方法通常可以有效解決問題。

以上是如何修復 MySQL 資料庫中損壞的 UTF-8 編碼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn