CSVファイルの文字コードを確認する方法。Shift_JISかUTF-8かを見分ける
取り込み先にShift_JISやUTF-8を指定されても、手元のCSVがどちらなのかは、ファイル名やアイコンを見ても分かりません。ブラウザに入れるだけで文字コードを表示する方法と、Windowsのメモ帳、Macのテキストエディット、Excelの読み込み画面で確かめる方法を、公式の説明に沿ってまとめました。
ネットショップの商品一括登録や業務システムの取り込み画面で、「CSVはShift_JISで」「UTF-8で作成してください」と指定されることがあります。ところが、手元のCSVがどちらの文字コードで保存されているかは、ファイル名や拡張子、アイコンを見ても分かりません。Excelで開いて日本語が読めたとしても、それだけでは文字コードの名前までは分かりません。
入稿の前に手元のCSVがどちらの文字コードかだけ確かめたいなら、当サイトのCSVをExcelに変換を開いてください。CSVを入れた時点で、「Shift_JIS」や「UTF-8(BOMなし)」のような文字コードの名前が表示されるので、ソフトを入れたり設定を探したりする手間がかかりません。CSVはサーバーにアップロードされず、お使いのブラウザの中だけで読み込まれます。
ブラウザに入れて文字コードの表示を読む
- CSVをExcelに変換を開き、CSVファイルを枠にドラッグ&ドロップする(スマホでは「ファイルを選択」を押して選ぶ)
- 枠の下に出る文字コードの表示を読む
- 下の確認画面で、日本語が正しく読めているかを見る
- 確かめるだけなら、「Excelファイルを保存」を押さずにページを閉じる
表示は「UTF-8(BOMあり)」「UTF-8(BOMなし)」「Shift_JIS」の3種類です。BOMについては次の節で説明します。半角の英数字と記号だけのCSVは、「UTF-8(BOMなし)」と表示されます。
UTF-8とShift_JIS以外の文字コードのファイルでは、「対応していない文字コードです」と表示されます。かっこの中には、判定した文字コードの名前が入ります。
この判定は、ファイルの中身のバイトの並びから推定したものです。確認画面で日本語が正しく読めていれば、その文字コードで読めたことになります。文字が化けて見えるときは、表示された判定が外れている可能性があります。
ファイルはサーバーに送られません
- 読み込みと判定は、お使いのブラウザの中だけで行います。CSVをインターネット上のサーバーへアップロードすることはありません。
- 会員登録やメールアドレスの入力はありません。
- 「Excelファイルを保存」を押したときだけ、変換したExcelファイルが端末に直接ダウンロードされます。
確かめた結果に合わせてすること
取り込み先がShift_JISを指定していて、結果が「UTF-8(BOMあり)」か「UTF-8(BOMなし)」だった場合は、Shift_JISへの変換が必要です。当サイトのCSV文字コード変換で、UTF-8のCSVをShift_JISに変換できます。Shift_JISでは表せない文字の扱いは、CSVの文字化けはなぜ起きるのかにまとめています。
取り込み先がUTF-8を指定していて、結果が「Shift_JIS」だった場合は、UTF-8で保存し直す必要があります。当サイトのツールは、Shift_JISからUTF-8への変換には対応していません。
CSV文字コード変換にShift_JISのCSVを入れると、「このファイルはすでに Shift-JIS のようです」と表示され、変換はしません。ただし、UTF-8のCSVを入れると、すぐにShift_JISへの変換が始まります。Shift_JISで表せない文字がなければ、変換したCSVがそのままダウンロードされます。文字コードを確かめるだけなら、CSVをExcelに変換のほうが向いています。
UTF-8には「BOMあり」と「BOMなし」がある
Microsoftの説明では、UTF-8のテキストファイルには、先頭にバイト順マーク(BOM)を付けられます。UTF-8のBOMは「EF BB BF」の3バイトで、付けるかどうかは任意です。同じUTF-8でも、BOMがあるファイルとないファイルの2通りがあることになります。
この違いは、Excelで開くときに影響します。Microsoftの説明では、UTF-8のCSVはBOM付きで保存されていれば通常どおり開けます。BOMがない場合は、「データ」タブからデータを取得する方法で開くよう案内されています。ダブルクリックで開くと日本語が化ける理由は、CSVの文字化けはなぜ起きるのかで説明しています。
取り込み先がUTF-8を指定している場合に、BOMの有無まで決まっていることもあります。指定の書き方に「BOM」の語があるときは、表示の「BOMあり」「BOMなし」まで照らし合わせてください。
ほかの方法
Windowsのメモ帳で開く
Windows 10の開発中のビルドを紹介するMicrosoftの記事では、メモ帳のステータスバーに、文字コードを表示する列が加わったと説明されています。CSVをメモ帳で開き、画面の下端のステータスバーを見てください。
ステータスバーに「ANSI」と出た場合は、Microsoftのコードページの一覧が参考になります。この一覧では、日本語のANSIコードページ932が「日本語 (Shift-JIS)」と説明されています。ただし、メモ帳がShift_JISのファイルを何と表示するかは、公式の説明では確かめられませんでした。
Macのテキストエディットで開く
Appleの説明によると、テキストエディットは、標準では自動テキストエンコーディングを使って書類を表示します。文字が正しく表示されない場合は、エンコーディングを選んで開き直せます。「ファイル」>「開く」でCSVを選び、開く前にウインドウの左下の「オプションを表示」をクリックしてください。「標準テキストのエンコーディング」のポップアップメニューからエンコーディングを選んで開き、日本語が読めるかどうかを見てください。
選びたいエンコーディングがメニューに無い場合は、「エンコーディングリストをカスタマイズ」から追加できます。テキストエディットが開いた書類の文字コードの名前を画面に表示するかどうかは、Appleの説明では確かめられませんでした。
Excelの「テキストまたは CSV から」で読み込む
Excelの「データ」タブにある「テキストまたは CSV から」でCSVを選ぶと、文字セットを選ぶ欄の付いたプレビューの画面が開きます。Microsoftの説明では、この欄で選ぶのは、ファイルが作られたときの文字セットです。
ただし、この欄の初期値は判定の結果とは限りません。Power Queryの説明によると、文字セットは推定されず、UTF-8と推定されるのはUTF-8のBOMで始まる場合だけです。欄の選択を切り替えて、プレビューの日本語が正しく読める文字セットを探してください。Microsoftのコードページの一覧では、Shift_JISは「932」、UTF-8は「65001」の番号で表されます。