將UTF8 表上的latin1 字元轉換為UTF8
您已經注意到您錯過了在PHP 腳本中插入my_set_charset('utf8 ') ,現在所有的表都採用utf8_unicode_ci排序規則,使得插入有變音符號的字元時行為不正常。
以前,每次嘗試插入帶有變音符號的內容時,都會因為不匹配而導致資料顯示不正確在字元集中。然而,在修復 PHP 和 MySQL 之間的字元集之後,新的插入現在可以正確儲存。
下一步是修復所有仍然混亂的舊行。您已嘗試使用 mb_convert_encoding 和 iconv,但字串在特定字元後被截斷。
要恢復數據,您可以使用 MySQL 函數,例如:
convert(cast(convert(name using latin1) as binary) using utf8)
取決於如何恢復資料在編碼轉換期間被更改,您可能需要省略內部轉換。此函數會將資料從 Latin-1 轉換為二進位,然後轉換為 UTF-8,確保所有字元都能正確顯示。
以上是如何將 UTF8 表中的 Latin1 字元轉換為 UTF8?的詳細內容。更多資訊請關注PHP中文網其他相關文章!