UTF8 テーブルの Latin1 文字の UTF8 への変換
クエリは、UTF8 テーブルの Latin1 文字を UTF8 に変換することに関するものです。問題の詳細と、この問題の解決に役立つ提供された解決策を詳しく調べてみましょう。
背景
次の間で charset を正しく設定する必要があることがわかりました。 UTF-8 データを処理するための PHP および MySQL。これにより、新しい発音記号の挿入が解決されました。ただし、破損した文字を含む既存の行を修正しようとすると、問題が発生します。
提案された解決策
提供される解決策は、次のアプローチを利用します:
バイナリ値を 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 中国語 Web サイトの他の関連記事を参照してください。