UTF-8 表中的Unicode 雙編碼更正
遇到像「¡」而不是「ñ」這樣的異常表示潛在的雙重編碼- UTF-8 字符的編碼問題。當 CSV 檔案假設為 Latin1 編碼時錯誤加載,導致多位元組字元被錯誤識別為單個字元並隨後再次以 UTF-8 編碼時,就會發生這種情況。
解
為了修正這種雙重編碼,可以使用MySQL 函數:
<code class="sql">CONVERT(CAST(CONVERT(field USING latin1) AS BINARY) USING utf8)</code>
該函數採用Latin1 編碼的字元,將將它們轉換為二進制,然後將它們轉換回UTF-8,有效去除雙重編碼。
透過UPDATE 語句進行修正
要修正受影響的字段,您可以在UPDATE 語句中使用該函數:
<code class="sql">UPDATE tablename SET field = CONVERT(CAST(CONVERT(field USING latin1) AS BINARY) USING utf8);</code>
透過執行此語句,有問題的字元將恢復為正確的UTF-8 表示。
以上是如何修正 UTF-8 表中的 Unicode 雙編碼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!