從雙編碼 UTF8 字元中恢復
從雙編碼 UTF8 字元中恢復
先前使用 LOAD DATA INFILE 匯入的資料被錯誤地假定為以 Latin1 編碼。因此,多位元組字元被拆分為單獨的位元組,隨後以 UTF8 進行編碼,從而產生雙重編碼。這會導致字元損壞,例如“Ò±”而不是“ñ”。CONVERT(CAST(CONVERT(field USING latin1) AS BINARY) USING utf8)要修正這些錯誤,可以使用特殊的MySQL 函數在雙重編碼後恢復正確的UTF8 字串:CONVERT(CAST(CONVERT(field USING latin1) AS BINARY) USING 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 對應項取代雙編碼值,從而解決字元異常問題。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3