MySQL でのペルシア語文字の奇妙な文字エンコーディングの問題の修正
このシナリオでは、ペルシア語文字を使用する古い Web サイトを移行しています。 CodeIgniter で書かれた新しいスクリプト。古いスクリプトは、MySQL とは異なる方法で文字をエンコードする TUBADBENGINE というデータベース エンジンを使用しています。
問題の根本原因:
この問題は、データベース接続が原因で発生します。新しいスクリプトと古いスクリプトでは異なる設定が行われます。 CodeIgniter スクリプトは UTF-8 エンコーディングで構成されていますが、古いスクリプトのデータベース接続では別のエンコーディング (Latin1 など) が使用されている可能性があります。
この不一致により、次の問題が発生します:
データベース変換:
この問題を解決するには、以下が必要ですデータベースに保存されているデータを正しい UTF-8 エンコーディングに変換します。次のクエリを使用できます。
SELECT CONVERT(BINARY CONVERT(field_name USING latin1) USING utf8) FROM table_name
field_name を、ペルシャ語文字を格納する実際の列名に置き換えます。データベース接続が Latin1 以外の別のエンコーディングに設定されている場合は、代わりにそのエンコーディングを使用してください。
データベースに正しい文字を保存すると、新しいスクリプトはそれらを適切に表示できるようになります。
追加の注意事項:
以上がTUBADBENGINE から MySQL に移行する際のペルシア語文字エンコーディングの問題を修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。