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

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

DDD
發布: 2024-12-09 14:20:15
原創
478 人瀏覽過

How Can I Fix Broken UTF-8 Encoding in My MySQL Database?

修復損壞的UTF-8 編碼:實用的解決方案

背景:

使用者經常遇到UTF-8 編碼損壞的問題,其特徵是像Ò® 這樣的字元而不是重音符號人物。此問題是由資料庫排序規則、PHP 設定和儲存方法不一致引起的。

映射損壞的字元以更正 UTF-8:

要解決此問題,一種有效的方法方法涉及 MySQL 資料庫轉儲和重新導入過程。此方法允許將損壞的字元轉換為其正確的 UTF-8 表示形式。

逐步修復:

1. Dump the MySQL database using the following command:

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

2. Import the dumped data back into a new database with the correct UTF-8 settings:

mysql -h DB_HOST -u DB_USER -p DB_PASSWORD \
--default-character-set=utf8 DB_NAME < DB_NAME-dump.sql
登入後複製

來源:

此解決方案是根據所描述的技術於:
http://blog.hno3.org/2010/04/22/fixing-double-encoded-utf-8-data- in-mysql/

附加說明:

  • 確保資料庫排序規則設定為utf8_general_ci。
  • 驗證 PHP 是否使用正確的 UTF-8 標頭。
  • 使用支援不含 BOM 的 UTF-8 的文字編輯器。
  • 雖然並非所有重音字元實例可能會被破壞,此方法應該可以解決大多數情況。

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板