こんにちは、Ryohei(@ityryohei)です!

本記事では、phpMyAdminでエクスポートしたCSVファイルをエクセルで開くと文字化けする場合の対処法をご紹介しています、

phpMyAdminでエクスポートしたCSVをエクセルで開くと文字化けしてしまう。文字化けを解消してエクセルで編集するにはどうすればいいんだろう?

上記の疑問にお答えします。

では、解説していきます。

CSVの文字化けは文字コードが原因

phpMyAdminでデータをCSVでエクスポートすると、日本語が含まれる場合はUTF-8でエクスポートされるようになっています。しかしエクセルでCSVを開くとSHIFT-JISと呼ばれる文字コードでファイルが読み込まれます。

対象文字コード
CSVUTF-8(正確にはUTF-8N)
ExcelSHIFT_JIS

対象が指定している文字コードが違うため、テキストが文字化けして表示されます。なので、文字化けを解消するにはCSVの文字コードをSHIFT_JISに変換してエクセルで開くという方法が確実です。

CSVの文字コードをSHIFT_JISに指定してエクスポートする

phpMyAdminには、データベースのデータをエクスポートする際に文字コードを指定することができる選択肢が用意されていますので、ここでは2パターンご紹介したいと思います。

エクスポート方法:簡易

エクスポート方法の簡易は、phpMyAdminでデータベースやテーブルのエクスポート画面を開くと、デフォルトで設定されているエクスポート方法です。画面の下の方にエンコーディングへの変換という項目がありますので、一番右のSJISを選択してCSVをエクスポートします。

これで文字コードにSHIFT_JISを指定してCSVをエクスポートすることができます。

エクスポート方法:詳細

エクスポート方法で詳細を選択した場合においても、文字コードを指定してエクスポートすることができます。詳細を選択した後に展開される項目に出力がございますので、ファイルの文字セットのプルダウンからSHIFT_JISを選択し、CSVをエクスポートします。

これで文字コードにSHIFT_JISを指定してCSVをエクスポートすることができます。

文字コードを指定してエクスポートするとエラーが発生する

文字コードを指定してデータをエクスポートすると、エクスポートしたファイル内にPHPのエラーメッセージが出力される場合はがあります。もしエラーメッセージが出力された場合は、いったんUTF-8のままCSVにエクスポートし、TeraPad(無料で公開されているエディタ)で文字コードを指定して保存します。

例:TeraPadで文字コードを指定して保存する

上記では私の環境にインストールされていたTeraPadを使用した対処法をご紹介していますが、文字コードを指定して保存することができるエディタであればどれを使用していただいても問題ないと思います。お手持ちのエディタで文字コードを指定して保存することができるか確認し、難しいようであればTeraPadをインストールしていただければと思います。

最後に

phpMyAdminのデータをエクセルで編集して別の環境にインポートすることが稀にあるため、文字化けした場合の対処法をまとめてみました。CSVの文字化けにお困りの方は試してみてくださいね。

以上、phpMyAdminでエクスポートしたCSVをエクセルで開くと文字化けする場合の対処法のご紹介でした!

この記事を書いた人

Ryohei

Webエンジニア / ブロガー

福岡のWeb制作会社に務めるWebエンジニアです。エンジニア歴は10年程で、好きな言語はPHPとJavaScriptです。本サイトは私がインプットしたWebに関する知識を整理し、共有することを目的に2015年から運営しています。Webに関するご相談があれば気軽にお問い合わせください。