背景画像
BLOG

ブログについて

文字化けの直し方(CSVファイル編)

2024.01.18

技術

サムネ画像

こんにちは。制作部の中山です。
寒い日が続き、ホッカイロと腹巻が手放せない今日この頃。ただ季節とは裏腹に、わたしはホクホクとした気持ちでこの記事を書いております。というのも、毎度テーマ選びに悩む技術ブログですが、今回は珍しくテーマがサクサクと決まったのです。もうそれだけで心は有頂天。幸せのおすそ分けとばかりに、ホッカイロを配って歩きたい気分です。
と…くだらない前置きはさておき、今回は「CSVファイルの文字化けの直し方(CSVファイル編)」と題し、筆を進めたいと思います。

CSVファイルの文字化け問題

今回このテーマを選んだ理由にも繋がるのですが、ここ数年で「CSVファイルをExcelで開いたところ、文字化けして見られません…」といったご相談をいただく機会が非常に多くなりました。
具体的な相談内容としては、「システムから会員データの一覧をCSV形式でエクスポートしてExcelで開いたら、文字化けしていて内容が見られない」、「他社から送られてきたCSVデータをクラウドからダウンロードしてExcelで開いたら、文字化けしている」等、利用しているサービスや媒体は違えど、CSVファイルをエクスポートやダウンロードした際に遭遇しがちなトラブルといえます。
なお例として、わたしが同様のトラブルに遭遇した際のスクリーンショットを、以下に載せております。これがまさしく文字化けです。

画像1

なぜ文字化けは起きるのか

文字化けが起きる原因は、どんなファイルを閲覧しようとして発生したのか、どんな環境で作成されたのか、どんな環境で閲覧したのか等、条件によって様々です。ただ今回わたしがご相談いただいたケースにおいては、ほとんどの場合で文字コードが正しくエンコード出来ていないことに原因がありました。
まず前提として、文字コードとは、文字に割り当てられた固有の数値のことです。わたしたちが打ち込んだ文字は、表面上では「ひらがな」や「漢字」として出力されていますが、コンピューター内部では、0と1の2進数でやり取りがされています。その「打ち込んだ文字」と「コンピューターが処理する数値」の割り当ての役割を、文字コードが担っているのです。ただ、文字コードには「UTF-8」や「Shift_JIS」等のいくつかの種類があり、これはパソコンのOSやシステムによって異なります。そのため、対応していない文字コードで作られたファイルは割り当てする文字が無いと判断され、文字化けした状態になってしまうのです。

CSVファイルの文字化けの直し方

それではいよいよ本題になりますが、ここからはCSVファイルの文字化けの直し方についてご紹介いたします。

1.Excelでの直し方

まず1つ目はExcelを使用した修正方法です。この方法はExcel単体で完結するため、非常に簡単かつ便利なのですが、バージョンの古いExcelでは対応が出来ない場合もあります。そのため、もしも対応が難しい場合には、次項でご紹介する別の方法もあわせて、お試しください。

1.まずはExcelで文字化けしたCSVファイルを開きます。 画像1
2.次に上部メニューの「データ」から、「データの取得」▶「ファイル」▶「テキストまたは CSV から」を選択。

「文字化けしたファイル」を選択し、「インポートボタン」をクリック。
画像2
3.新しいプレビューが立ち上がるので、文字化けが解消されているか確認します。 画像3
4.文字化けの解消が確認できたら、プレビュー窓の下にある「読み込み」ボタンをクリックします。

プレビュー窓が閉じ、元のシートに別タブで文字化けが解消されたデータが表示されます。
画像4

2.メモ帳での直し方(Windows)

こちらはWindowsにデフォルトで入っているメモ帳を利用し、CSVデータをBOM(バイトオーダーマーク)付きにする方法です。
本来であればUTF-8にBOMは不要ですが、ExcelではBOMが必須。BOM無しのUTF-8で保存されたCSVを開くと文字化けを起こすので、あえてひと手間加えてメモ帳でBOMをつけてあげるのです。
なお「ANSI」や「UTF-16 LE」形式で保存しても文字化けは解消されますが、Excel以外でデータを開く可能性を考慮すると、UTF-8のBOM付きで保存したほうが使い勝手は良いと思います。

1.文字化けしたCSVファイルの上で右クリックをして、「プログラムから開く」を選択します。

ここでメモ帳が候補としてでている場合は、メモ帳を選択しファイルを開きます。

候補としてメモ帳が表示されていない方は、「別のプログラムを選択」すると候補が出てきますので、その中からメモ帳を選択しましょう。
画像5
2.メモ帳でデータを開くと、CSVのファイル内容が表示されますが、内容には手を加えずに、上部メニューより「ファイル」▶「名前をつけて保存」を選択します。 画像6
3.保存画面の右下にあるエンコードを「UTF-8(BOM付き)」に変更して保存します。

保存したデータをExcelで開いて問題がないか確認しましょう。
画像7

3.テキストエディットでの直し方(Mac)

次は、Macのテキストエディットを利用した修正方法です。Windowsの時よりもひと手間かかりますが、テキストファイルウィザードの設定自体はほぼデフォルトなので、一度慣れてしまえば簡単です。なおこの記事を書いているPCがWindowsのため、スクリーンショットは割愛させていただきます。

1.文字化けしたCSVデータのを選択して右クリック。「このアプリケーションで開く」▶「テキストエディット」を選択。
2.上部のファイルメニューから「複製」▶「保存」を選択し、保存ウィンドウの「標準テキストのエンコーディング」部分で「Unucode(UTF-16)」を選択し、ファイルを保存。
3.Excelを立ち上げ、2で保存したデータを開きます。
4.テキスト ファイル ウィザードを実行し、「区切り記号付き」にチェックを入れて「次へ」をクリック。

「フィールドの区切り文字を指定してください。」の部分で、「タブ」と「カンマ」にチェックが入っている状態で「次へ」をクリック。

「区切ったあとの列のデータ形式を選択してください。」の部分で、「標準」にチェックを入れ「完了」ボタンをクリック。

まとめ

様々なツールやサービスからのエクスポートは、今やCSVファイルがデフォルトになりつつあります。そんな今だからこそ、CSVファイルが文字化けした際にも慌てず作業ができるよう、対処方法を身につけておくと安心です。

なお今回の記事タイトルでお気づきの方もいらっしゃるかもしれませんが、この文字化けシリーズはもう少し続きます。ぜひまたお付き合いいただけますと幸いです。

それでは今回はこのあたりで。
最後まで読んでいただきありがとうございました。