UTF8 テーブルの latin1 文字を UTF8 に変換します
PHP スクリプトに mysql_set_charset('utf8') を挿入し忘れたことに気づきました。と、すべてのテーブルが utf8_unicode_ci 照合順序になっているため、発音記号を含む文字の挿入が正しく動作しません。
以前は、発音記号を含むものを挿入しようとするたびに、不一致によりデータが正しく表示されませんでした。文字セットで。ただし、PHP と MySQL の間の文字セットを修正した後、新しい挿入は正しく保存されるようになりました。
次のステップは、まだ混乱している古い行をすべて修正することです。 mb_convert_encoding と iconv を使用しようとしましたが、文字列は特定の文字の後で切り詰められます。
データを回復するには、次のような MySQL 関数を使用できます。
convert(cast(convert(name using latin1) as binary) using utf8)
方法に応じて、エンコード変換中にデータが変更された場合は、内部変換を省略する必要がある場合があります。この関数はデータを Latin-1 からバイナリに変換し、次に UTF-8 に変換して、すべての文字が正しく表示されるようにします。
以上がUTF8 テーブル内の Latin1 文字を UTF8 に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。