首頁  >  文章  >  後端開發  >  如何將 UTF-8 MySQL 表中的 Latin1 字元轉換為 UTF-8?

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

Barbara Streisand
Barbara Streisand原創
2024-11-02 19:41:30910瀏覽

How to Convert Latin1 Characters to UTF-8 in a UTF-8 MySQL Table?

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

您的查詢涉及將 UTF8 表中的 Latin1 字元轉換為 UTF8。讓我們深入研究問題的具體情況以及提供的解決方案來幫助您解決此問題。

背景

您發現需要在之間正確設定字元集PHP 和 MySQL 用於處理 UTF-8 資料。這解決了新變音符號的插入問題。但是,您在嘗試修復包含損壞字元的現有行時遇到問題。

建議的解決方案

提供的解決方案採用以下方法:

  1. 將二進位值轉換為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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn