• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:phpMyAdminでエクスポートすると、~やcmなどが文字化けします。)

phpMyAdminでエクスポートすると文字化けする問題について

このQ&Aのポイント
  • phpMyAdminでMySQLのテーブルをCSVファイル形式でエクスポートすると、一部の文字が文字化けしてしまいます。
  • テキストエディタで開いたところ、「shift-jis変換できない文字を含んでいます。?に変換します」というメッセージが表示されました。
  • 文字化けを防ぐためには、phpMyAdminの設定やテーブルの照合順序の変更が必要です。

質問者が選んだベストアンサー

  • ベストアンサー
  • dell_OK
  • ベストアンサー率13% (766/5720)
回答No.1

今ダウンロードしてインストールしてみた UnEditor(r.1.8.1 Build 1,鬼車onig.dll ver5.9.1) で、phpMyAdmin でエクスポートしたファイル(cm、~を含む)を開いても、そのようなメッセージは表示されませんでした。 私の環境では、エクスポートされるファイルは UTF-8 なのですが、別のエディタで文字コードを EUC-JP に変えておいて、それを開いてもそのようなメッセージは表示されませんでした。 バージョン違いのせいかも知れませんので、新しいバージョンか違うバージョンで試してみてください。 とは言っても、PHP や MySQL の文字コードが関係で、エクスポートした時点ですでに文字化けが起こっているのかも知れません。 データが入っているデータベースの照合順序やテーブルの照合順序を後から変更しても、すでにあるデータには反映されません。 私も phpMyAdmin のエクスポートがうまくできなかったので、結局、PHPでプログラムを作って、CSV ファイルを出力するようにしました。 それからはデータベースを UTF-8 の照合順序で作成して UTF-8 しか使わないようにしました。 ※色々と自分なりに試した結果(どうしたらいいのかわからないまま)、UTF-8 でないと文字化けが起こったので。 エクスポートで文字化けする以前に、phpMyAdmin でテーブルの中を見たらすでに文字化けしていました。 ※PHP からのアクセスでは文字化けしていないので、phpMyAdmin での見え方は無視していました。 ※UTF-8 にしてからは、phpMyAdmin でも文字化けせずに表示されました、が PHP の方のプログラムを色々と直す必要はありましたし、HTML も UTF-8 にしたために、ブラウザで見るフォントがかわってデザインが狂ってしまったので、おすすめできる手段ではないかも知れません。 完全にうまくするには、サーバーの設定から、PHP の設定から、MySQL の設定から、などなど根っこからを設定していないとだめなのかも知れません。 レンタルサーバー「さくら」の事は詳しくないのでわかりませんが、どうにかして今あるデータを文字化けしないように抜いて、PHP、MySQLの文字コードを統一した環境に作り直した方が無難ではないでしょうか。 どうにかして抜く、と言うのは、私の場合、プログラムを作った方が早かったわけですが、そんなに難しいものではありませんし、今後のエクスポートもそれを流用すれば phpMyAdmin を介さずに済みます。

2007panda
質問者

お礼

とてもわかりやすく具体的で丁寧に教えていただき ありがとうございました。 また、わざわざ UnEditorをダウンロード、インストールして 調べていただきありがとうございました。 おかげさまで、解決しました! 「データが入っているデータベースの照合順序やテーブルの照合順序を後から変更しても、すでにあるデータには反映されません。」 とのことだったので、テーブルから全データを削除してから、 元データをインポート→エクスポート→UnEditorで開いたところ、 ~やcm(全角1文字でcm)が文字化けしませんでした! 本当にありがとうございました。 助かりました。m(_ _)m