今回は、CSVファイルをExcelで開くと文字化けしてしまう原因についてのお話です。
まずは、基本をおさらいしておきましょう。
まずCSVとは何のことでしょう?
【CSVとは】
データベースなどで、各項目のデータをカンマで区切ったテキスト形式のファイル。
Weblio辞書様より引用
つまり、テキスト形式=文字だけで出来ているということなので
CSVファイルとは、カンマ記号で区切られた文字だけのファイルですよ。ということですね。
▼ 要はこんな感じです。
日付,氏名,誕生日,電話番号
2019/02/18,鶴谷朋亮,1984/1/25,090-xxxx-xxx
xxxx/xx/xx,xxxx,xxxx/xx/xx,xxx-xxxx-xxxx
じゃあ、次に「文字化け」ってなんでしょうか?
【文字化けとは】
コンピューターで、文字データが制作者の意図した文字とは異なる、意味不明の記号などで表示される現象。通信回線の異常、記憶媒体の破壊、機種依存文字の使用などが主な原因。
Weblio辞書様より引用
つまり、文字化けとは
「はじめまして私は鶴谷朋亮です。」
という文字が次のように表示される現象のことです
「縺ッ縺倥a縺セ縺励※遘√?鮓エ隹キ譛倶コョ縺ァ縺吶?」
こんな風に表示されるのが文字化けです。
これじゃあ、パソコンが壊れたんじゃないかって不安になりますよね。
でも、この「文字化け」という現象CSVファイルをEXCELで扱おうとすると以外に多いんです。
今回は、そんな文字化けが起こる原因と対処法のお話です。
それでは、さっそく本編に行ってみましょう!!
CSVファイルをExcelで開いたときに文字化けするのはどうして?
結論から話します。
CSVファイルをExcelで開くと文字化けする原因は「文字コード」です。
文字コードってなんでしょうか?
文字コード
文字コードとは、文字や記号をコンピュータで扱うために、文字や記号一つ一つに割り当てられた固有の数字のこと。
欧米などで使われる英数字の文字コードは1バイトで表現されるが、これでは256文字しか表現できず、日本語の漢字などは収録できないため、日本や韓国、中国などではそれぞれ独自に2バイト(最大65536文字)のコード体系を定め、それぞれ自国内で使用している。
1バイトの文字コードとしてはASCIIが世界標準となっているが、一部の大型コンピュータではIBM社のEBCDICを使うものもある。
日本語の文字コードは、JIS(日本工業規格)で標準化されたJISコードの他、主にUNIXなどで使われるEUC、WindowsやMac OSなどで使われるシフトJISの3種類が利用されている。
e-Words様より引用
コレを簡単に説明すると
「文字コード」というのは、文字を数字で管理している仕組みのことです。
要は、A=1・B=2・C=3・・・ あ=1・い=2・う=3・・・こんな感じですね。
もちろんこんな単純なルールじゃ無いですよ。
つまり文字と数字を紐付けて管理するルールの事を「文字コード」と呼んでいると言うことです。
ところがこの文字コード、1つ問題があるんです。
それは文字の表現方法の違いです。欧米では文字は英数字、つまり英語か数字しか使わないので1バイト文字を使っています。
これを表現する国際ルールが【ASCII(アスキー)コード】という規格で取り決められています。
一方、日本・中国・韓国の漢字など英数字以外を表現する時は、2バイト文字を使う必要があります。
2バイト文字のルールは日本では、JIS(日本工業規格)で定められています。これが【JIS(ジス)コード】です。
その他に、主にUNIX(ユニックス)などで使われる【EUC】
WindowsやMac OSなどで使われる【シフトJIS】の3種類があります。
UNIX・Windows・Mac OSこれらは、全てOSと呼ばれるソフトウェアです。
OSとは、Operating System(オペレーティング・システム)の略で、簡単に言うと、パソコンを動かすために必要なソフトウェアのことです。
このOSごとに違う文字コードの違い=「文字化け」の原因と言うことです。
例えば、球技で考えてみましょう。
野球・サッカー・ゴルフを同時にやるようなモノです。
当然ルールはバラバラ、収集がつかないですね。もうぐちゃぐちゃです。
この状態が「文字化け」だと思って下さい。
つまり、ExcelでCSVを開こうとした時にそのCSVファイルの「文字コード」が違うから「文字化け」してしまうということなんですね。
文字化けしてしまうCSVファイルをExcelで正しく開く方法って無いの?
結論から話します。
100%の方法ではありませんが、《メモ帳で開いて上書き保存 → エクセルで開く》これがベストです。
よくCSVファイルをExcelで開く方法にこんなやり方があります。
①データタブからテキストファイルを選択します。
②CSVファイルをインポートします。
③先頭行を見出しとして指定します。
④カンマでの区切り設定をします。
⑤電話番号の列を「文字列」に指定します。
⑥読み込みが完了すれば完了です。
コレが基本的なやり方なのですが、コレでも上手くいかないCSVファイルもあります。
コレを回避できるのが、「メモ帳で開いて上書き → Excelで開く」という方法です。
では、どうして同じCSVでも上手く開けないのでしょう。
ここにはもう一つ理由があります。
それは、文字化けするCSVファイルは【UTF-8(ユー・ティー・エフ-エイト)】という文字コードだということです。
厳密には、UTF-8というのは、文字コードではありませんが、細かい話なので説明はあえてしません。
なので、最初に紹介した『文字コード』の種類には、登場していません。
本来、Excelは、UTF-8という文字コードのファイルを開くことが出来ます。
ところが、Excelのいわゆる「おせっかい機能」が働いて勝手に、このCSVファイルの文字コードは「シフトJIS」だからそのルールで開くよ!!
って言って開いてしまうんです。
そうするとどうなるか。あなたはもう分かりますよね。
そうです。文字化けします。
「何ということでしょう。あんなに便利だったExcelの機能が邪魔をしているではありませんか。」
という感じになってしまうんですね。
コレを避ける為の方法が何度も言いますが、「メモ帳で開いて上書き → Excelで開く」という方法なんですね。
まとめ
どうでしたか?
「たかがCSVされどCSV」文字化けという謎めいた現象も「理由と対策」をきちんと把握すれば、恐くないですよね。
CSVファイルは、昔からずっと使われている形式のファイルの一つです。
ルールが単純なので、データベースとしての「インポートやエクスポート」に向いています。
意外と対策を知っていれば活用できる幅が大きいので、損にはなりませんよ。
もし、あなたがCSVファイルの扱いに困っていたら是非参考にしてみて下さい。
また、近くに困っている人がいたら教えてあげてくださいね。
最後までお読みいただきありがとうございました。
この記事が、少しでもお役に立てたら幸いです。 ご意見もいただけると励みになります。
それではまた、お会いしましょう。 シ~ユ~!!
◀ 『CSVの超活用法!! CSV+VBAの連携がすごい!!』も見てみる
コメントを残す