首頁 > 資料庫 > mysql教程 > 如何將 UTF-8 資料庫表中的 Latin1 字元轉換為 UTF-8?

如何將 UTF-8 資料庫表中的 Latin1 字元轉換為 UTF-8?

Susan Sarandon
發布: 2024-12-02 21:40:12
原創
652 人瀏覽過

How Can I Convert Latin1 Characters to UTF-8 in a UTF-8 Database Table?

將 Latin1 字元轉換為 UTF8 表中的UTF8

您的問題描述了一個問題,即先前插入的包含變音符號的資料由於字元集不正確而被損壞

問題:

您的PHP 腳本未指定用於資料庫通訊的UTF-8 字元集,導致Latin1 字元儲存在UTF-8表中。這導致字元被錯誤地顯示為“à”序列。

解決方案:

解決方案在於使用名為convert()的MySQL函數來明確轉換資料從 Latin1 編碼轉換為 UTF-8。以下是範例查詢:

UPDATE `table` SET `name` = convert(cast(convert(`name` using latin1) as binary) using utf8)
登入後複製

解釋:

  • convert() 函數先使用 latin1 轉換器將目前名稱列值轉換為 Latin1編碼.
  • 然後使用二進位將產生的二進位字串轉換回字串
  • 最後,使用 utf8 轉換器將字串轉換為 UTF-8。

此轉換過程可確保任何損壞的 Latin1 字元正確轉換為 UTF-8,保留變音符號的正確顯示。請注意,並非在所有情況下都需要使用 Convert() 函數進行內部轉換,具體取決於特定的資料損壞情況。

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

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