ホームページ  >  記事  >  データベース  >  phpmyadminでエクスポートしたSQLファイルが文字化けしている場合はどうすればよいですか?

phpmyadminでエクスポートしたSQLファイルが文字化けしている場合はどうすればよいですか?

藏色散人
藏色散人オリジナル
2020-04-01 09:24:562590ブラウズ

phpmyadminでエクスポートしたSQLファイルが文字化けしている場合はどうすればよいですか?

phpmyadmin でエクスポートした SQL ファイルが文字化けしている場合はどうすればよいですか?

phpMyAdmin バージョンは 2.9.1.1

Use phpMyAdmin データベースをバックアップします。エクスポートした後、ローカルに復元するときは、 sqlyog, 次のエラーが発生しました:

Error occured at:2009-03-03 10:09:43
Line no.:11154
Error Code: 1062 - Duplicate entry '??????' for key 2

SQL ファイルを開いて確認してください。メンバーシップ テーブルの下のメンバー ユーザー名が文字化けしています。多くのプログラムのため、メンバーシップ テーブルの下のメンバー ユーザー名はすべて ???、?????? のように文字化けしています。中国語ユーザーをサポートするようになりました。名前、ユーザー名は一意です。中国語のユーザー名が文字化けした後、同一のユーザー名が多数表示されます。これらの文字化けしたデータをインポートすると、既に ?????? のようなユーザー名が存在するため、2 番目のユーザー名が文字化けした場合、以下に表示される場合、エラーが報告されます。

システムを制御できる場合は、次のコマンドを使用してデータをエクスポートできます。文字化けは発生せず、エクスポートされます。復元中は正常です

mysqldump -uroot -p --default-character-set=utf8 --set-charset --skip-opt dbname > newdbname.sql

しかし、現在はphpMyAdminを使用してエクスポートすることしかできません。長い間テストした結果、phpMyAdminの言語が「中文-簡体字-gb2312」の場合、エクスポートされたSQLファイルはgb2312です。一部のテーブルには中国語の文字が含まれており、その中国語の文字が文字化けしています。phpMyAdminの言語が「簡体字中国語(つまりutf8)」の場合、エクスポートされたSQLファイルの文字セットはutf8です(メモ帳を使用して、形式を表示すると、BOM 形式エンコードなしの UTF-8 であることがわかります) 中国語は正常に表示できます

したがって、エクスポートされたファイルでの中国語の文字化けを避けるために、中国語 - 簡体字を選択できます。 「言語」ドロップダウンメニューから「エクスポート」を選択すると、ダウンロードした SQL ファイル内の中国語が正常に表示されます。

次のコマンドを使用して

mysql -uroot -p --default-character-set=utf8 newdbname < newdbname.sql

phpMyAdmin のデフォルトの言語を「簡体字中国語」に変更したかったのですが、config.inc.php と config.default を変更してみましたライブラリディレクトリにあります。.php は役に立たず、問題ではありません。結局のところ、データベースに使用するエンコーディングは人によって異なります。常に言語を再選択しなければならない人もいれば、デフォルトの「中文-簡体字-」のままにする人もいます。 gb2312」!

もう 1 つの推測は、エクスポートされたファイルのエンコーディングが gb2312 であるため、gb2312 を utf8 に変換することを検討できます。この方法はテスト中です。

以上がphpmyadminでエクスポートしたSQLファイルが文字化けしている場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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