ホームページ  >  記事  >  データベース  >  MySQL で二重エンコードされた UTF8 文字を修正する方法?

MySQL で二重エンコードされた UTF8 文字を修正する方法?

DDD
DDDオリジナル
2024-10-30 23:22:30642ブラウズ

How to Fix Double-Encoded UTF8 Characters in MySQL?

二重エンコードされた UTF8 文字からの回復

LOAD DATA INFILE を使用して以前にインポートされたデータは、誤って Latin1 でエンコードされていると想定されていました。その結果、マルチバイト文字は個々のバイトに分割され、その後 UTF8 でエンコードされ、二重エンコードが発生しました。これにより、"ñ" ではなく "ã±" などの文字が破損します。

これらのエラーを修正するには、特別な MySQL 関数を利用して、二重エンコード後に正しい UTF8 文字列を復元できます。

CONVERT(CAST(CONVERT(field USING latin1) AS BINARY) USING utf8)

この関数を UPDATE ステートメントに統合して、影響を受けるフィールドを修正できます:

UPDATE tablename SET
    field = CONVERT(CAST(CONVERT(field USING latin1) AS BINARY) USING utf8);

このステートメントを実行すると、データベースは二重エンコードされた値を正しい UTF8 対応する値に置き換え、解決します。性格の異常

以上がMySQL で二重エンコードされた UTF8 文字を修正する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。