將UTF8 表中的Latin1 字元轉換為UTF8
您遇到了帶有變音符號的字元(例如“Jáuò Iñe” )的問題) 由於缺失而被錯誤地儲存在UTF8表中「mysql_set_charset('utf8')」呼叫。
要解決此問題,您嘗試使用「mb_convert_encoding」和「iconv」轉換受影響的行。但是,這些方法無法捕獲第一個“非法”字元(在範例中表示為“ă”)之外的字元。
修正資料的建議方法是使用MySQL 函數:
convert(cast(convert(name using latin1) as binary) using utf8)
說明:
cast 函數確保內部轉換返回二元value.
在某些情況下,內部轉換可能不是必需的,因為數據可能已經以適合轉換為UTF-8 的二進制格式儲存。測試這兩個選項應該可以確定適合您情況的正確方法。以上是如何正確將UTF8 MySQL表中的Latin1字元轉換為UTF8?的詳細內容。更多資訊請關注PHP中文網其他相關文章!