修復損壞的UTF-8 編碼
在處理UTF-8 編碼時,經常會遇到由於不正確而導致的損壞字符,例如Ò®處理。此問題可能由資料庫配置、PHP 設定甚至文字編輯器編碼引起。
MySQL 字元集和 PHP 標頭
確保您的 MySQL 資料庫使用 UTF -8 排序規則,例如 utf8_general_ci。此外,驗證您的PHP 程式碼是否包含正確的UTF-8 標頭,例如:
<?php header("Content-Type: text/html; charset=utf-8"); ?>
檢查記事本和phpMyAdmin
確認記事本已配置為使用UTF-8 無BOM。在 phpMyAdmin 中,請確保將資料顯示和 SQL 匯出的字元編碼設定為 UTF-8。
辨識損壞的重音字元
雖然並非所有重音字元都可能是受影響的常見損壞序列包括 、 和 。這些字元分別代表「e」、「i」和「u」的重音版本。
解決方案:雙重編碼修復
如果您懷疑雙重編碼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
此流程強制將雙編碼字元轉換為有效字符UTF-8。
來源:
[修正MySQL 中的雙編碼UTF-8 資料](http://blog.hno3.org/2010/04/22/fixing -雙編碼-utf-8-data-in-mysql/)
以上是如何修復 MySQL 和 PHP 中損壞的 UTF-8 編碼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!