ホームページ >データベース >mysql チュートリアル >MySQL データベースで壊れた UTF-8 エンコーディングを修正するにはどうすればよいですか?

MySQL データベースで壊れた UTF-8 エンコーディングを修正するにはどうすればよいですか?

DDD
DDDオリジナル
2024-12-09 14:20:15454ブラウズ

How Can I Fix Broken UTF-8 Encoding in My MySQL Database?

壊れた UTF-8 エンコーディングの修正: 実用的な解決策

背景:

ユーザーは頻繁に壊れた UTF-8 エンコーディングの問題が発生します。アクセントのある文字。この問題は、データベースの照合順序、PHP 設定、および保存方法の不一致によって発生します。

壊れた文字を正しい UTF-8 にマッピング:

この問題を解決するには、次の方法が効果的です。このアプローチには、MySQL データベースのダンプと再インポートのプロセスが含まれます。この方法により、壊れた文字を正しい UTF-8 表現に変換できます。

段階的な修正:

1. Dump the MySQL database using the following command:

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

2. Import the dumped data back into a new database with the correct UTF-8 settings:

mysql -h DB_HOST -u DB_USER -p DB_PASSWORD \
--default-character-set=utf8 DB_NAME < DB_NAME-dump.sql

ソース:

このソリューションは、説明されている手法に基づいていますin:
http://blog.hno3.org/2010/04/22/fixing-double-encoded-utf-8-data-in-mysql/

追加メモ:

  • データベースの照合順序が次のように設定されていることを確認します。 utf8_general_ci.
  • PHP が適切な UTF-8 ヘッダーを使用していることを確認します。
  • BOM なしの UTF-8 をサポートするテキスト エディターを使用します。
  • すべてのアクセント付き文字インスタンスではありませんが、壊れている可能性がありますが、この方法でほとんどの場合に対処できます。

以上がMySQL データベースで壊れた UTF-8 エンコーディングを修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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