如何修復 MySQL 表中的雙編碼 UTF8 字元?

DDD
發布: 2024-10-31 00:15:03
原創
890 人瀏覽過

How to Fix Double-Encoded UTF8 Characters in a MySQL Table?

修正UTF-8 表中的雙編碼UTF8 字元

之前使用LOAD DATA INFILE 的導入操作錯誤地假定輸入CSV Latin1 編碼。這導致多字節字元被拆分為兩個單字節字符,並隨後以 UTF-8 進行雙重編碼,從而產生異常,例如“à”而不是“ñ”。

為了修正這些錯誤編碼的字串,MySQL提供了使用CONVERT() 函數的解決方案:

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

該函數採用雙編碼字段並順序將其從Latin1(假設原始檔案編碼)轉換為二進位表示形式,最後轉換為UTF-8,有效地撤銷雙重編碼。

要套用此更正,可以執行UPDATE 語句:

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

此語句將用更正後的值替換現有欄位值,恢復預期的UTF -8 表示多位元組字元。

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

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