ホームページ >バックエンド開発 >PHPチュートリアル >MySQL と PHP で壊れた UTF-8 エンコーディングを修正するにはどうすればよいですか?
壊れた UTF-8 エンコーディングを修正する
UTF-8 エンコーディングを扱うとき、正しくないために î のような壊れた文字が発生することがよくあります。取り扱い。この問題は、データベース構成、PHP 設定、またはテキスト エディターのエンコードによって発生する可能性があります。
MySQL 文字セットと PHP ヘッダー
MySQL データベースが UTF を使用していることを確認してください。 -8 照合順序 (utf8_general_ci など)。さらに、PHP コードに次のような適切な UTF-8 ヘッダーが含まれていることを確認します。
<?php header("Content-Type: text/html; charset=utf-8"); ?>
メモ帳と phpMyAdmin の確認
メモ帳が使用するように構成されていることを確認します。 BOM なしの UTF-8。 phpMyAdmin で、データ表示と SQL エクスポートの両方で文字エンコードが UTF-8 に設定されていることを確認します。
壊れたアクセント文字の識別
すべてのアクセント文字が使用できるわけではありませんが、影響を受ける、一般的な壊れたシーケンスには、î、Ã、および Ãâ⁄ が含まれます。これらの文字は、それぞれ「e」、「i」、「u」のアクセント付きバージョンを表します。
解決策: 二重エンコードの修正
二重エンコードが疑われる場合UTF-8 文字の場合は、次の手順の使用を検討してください:
mysqldump -h DB_HOST -u DB_USER -p DB_PASSWORD --opt --quote-names \ --skip-set-charset --default-character-set=latin1 DB_NAME > DB_NAME-dump.sql
mysql -h DB_HOST -u DB_USER -p DB_PASSWORD \ --default-character-set=utf8 DB_NAME < DB_NAME-dump.sql
このプロセスは、二重エンコードされた文字を強制的に有効な文字に変換しますUTF-8.
出典:
[MySQL での二重エンコードされた UTF-8 データの修正](http://blog.hno3.org/2010/04/22/fixing) -double-encoded-utf-8-data-in-mysql/)
以上がMySQL と PHP で壊れた UTF-8 エンコーディングを修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。