從雙編碼 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中文網其他相關文章!