如何修復 MySQL 和 PHP 中損壞的 UTF-8 編碼?

DDD
發布: 2024-11-26 05:24:09
原創
962 人瀏覽過

How to Fix Broken UTF-8 Encoding in MySQL and PHP?

修復損壞的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 字符,請考慮使用以下過程:

  1. 轉儲MySQL資料使用:
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
登入後複製
  1. 將資料重新載入為UTF-8字元集:
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中文網其他相關文章!

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