如何修復 MySQL 資料庫中的雙編碼 UTF8 字元?

Susan Sarandon
發布: 2024-10-30 16:55:26
原創
532 人瀏覽過

How Can I Fix Double-Encoded UTF8 Characters in My MySQL Database?

修正雙編碼UTF8字元

錯誤的字元編碼可能會導致資料異常,例如「ñ」等西班牙字元的轉換到“à”。當 CSV 檔案被錯誤地解釋為 Latin1 編碼並隨後再次以 UTF8 編碼時,就會發生 UTF8 字元的雙重編碼,這是此問題的常見原因。

解決此問題並恢復預期字元表示,MySQL提供了一個專門的函數:

CONVERT(CAST(CONVERT(field USING latin1) AS BINARY) USING utf8)
登入後複製

這個函數接受雙重編碼的字串,首先使用CONVERT(field USING latin1)將其轉換回Latin1二進位字串,然後重新正確編碼使用CONVERT(CAST(...) AS BINARY) USING utf8) 轉換為UTF8。

要將更正應用於您的數據,請使用以下更新語句:

UPDATE tablename SET
    field = CONVERT(CAST(CONVERT(field USING latin1) AS BINARY) USING utf8);
登入後複製

此語句將更新tablename 表中的指定字段,用正確的UTF8 等效項替換雙編碼字元。透過正確處理字元編碼,您可以確保資料的完整性和準確性。

以上是如何修復 MySQL 資料庫中的雙編碼 UTF8 字元?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!