首頁  >  文章  >  資料庫  >  如何修復 MySQL 中的雙編碼 UTF8 字元?

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

DDD
DDD原創
2024-10-30 23:22:30642瀏覽

How to Fix Double-Encoded UTF8 Characters in MySQL?

從雙編碼 UTF8 字元中復原

先前使用 LOAD DATA INFILE 匯入的資料被錯誤地假定為以 Latin1 1 編碼。因此,多位元組字元被拆分為單獨的位元組,隨後以 UTF8 進行編碼,從而產生雙重編碼。這會導致字元損壞,例如“à±”而不是“ñ”。

要修正這些錯誤,可以使用特殊的MySQL 函數在雙重編碼後恢復正確的UTF8 字串:

CONVERT(CAST(CONVERT(field USING latin1) AS BINARY) USING utf8)

此函數可以整合到UPDATE 語句中以更正受影響的欄位:

UPDATE tablename SET
    field = CONVERT(CAST(CONVERT(field USING latin1) AS BINARY) USING utf8);

透過執行此語句,資料庫將以正確的UTF8 對應項取代雙編碼值,從而解決字元異常。

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn