首頁 > 資料庫 > mysql教程 > 如何正確將UTF8 MySQL表中的Latin1字元轉換為UTF8?

如何正確將UTF8 MySQL表中的Latin1字元轉換為UTF8?

DDD
發布: 2024-12-09 04:29:09
原創
821 人瀏覽過

How Can I Correctly Convert Latin1 Characters in a UTF8 MySQL Table to UTF8?

將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)
登入後複製

說明:

  1. outer
  2. outer
  3. inner
  4. 轉換函數將資料從其原始形式轉換Latin-1 表示到二進位表示。

cast 函數確保內部轉換返回二元value.

在某些情況下,內部轉換可能不是必需的,因為數據可能已經以適合轉換為UTF-8 的二進制格式儲存。測試這兩個選項應該可以確定適合您情況的正確方法。

以上是如何正確將UTF8 MySQL表中的Latin1字元轉換為UTF8?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板