將 UTF8 表中的 Latin1 字元轉換為 UTF8
您的查詢涉及將 UTF8 表中的 Latin1 字元轉換為 UTF8。讓我們深入研究問題的具體情況以及提供的解決方案來幫助您解決此問題。
背景
您發現需要在之間正確設定字元集PHP 和 MySQL 用於處理 UTF-8 資料。這解決了新變音符號的插入問題。但是,您在嘗試修復包含損壞字元的現有行時遇到問題。
建議的解決方案
提供的解決方案採用以下方法:
將二進位值轉換為UTF8:
convert(cast(convert(name using latin1) as binary) using utf8)
此MySQL 函數從損壞的Latin1 資料中復原UTF-8 資料。
可選調整(取決於資料變更):
如果資料在初始編碼轉換期間沒有顯著更改,則可以省略內部轉換(convert(name using latin1))。在這種情況下,該函數將簡單地為:
convert(cast(name as binary) using utf8)
透過應用此解決方案,您可以成功地將儲存在UTF8 表中的Latin1 字元轉換為正確的UTF8 格式,從而解決人物腐敗問題。請記住根據先前編碼過程中經歷的資料變更的性質來調整轉換函數。
以上是如何將 UTF-8 MySQL 表中的 Latin1 字元轉換為 UTF-8?的詳細內容。更多資訊請關注PHP中文網其他相關文章!