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

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

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-07 07:58:13574ブラウズ

How to Repair Corrupted UTF-8 Encoding in MySQL Databases?

破損した UTF-8 エンコーディングの修復

この記事では、MySQL データベースにおける memperbaiki pengkodean UTF-8 yang rakus の問題について説明します。この問題は、PHP 5 が utf8_general_ci 照合順序で使用され、適切な UTF-8 ヘッダーが設定されている場合に、「î」のような文字化けとして現れます。

破損した文字のマッピング

次の関数を利用して、破損した文字のインスタンスを対応する正しい UTF-8 にマッピングできます。文字:

function fixUtf8($string) {
  $replacements = array(
    "î" => "®",
    "í" => "í",
    "ü" => "ü"
  );
  
  return str_ireplace(array_keys($replacements), array_values($replacements), $string);
}

データベースのダンプと復元

別の方法では、データベース データをダンプし、それを再ロードして二重エンコードされた 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

通常、この方法により問題が効果的に解決されます。

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

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