sakutto
豆知識

UTF-8とShift_JISの違いとは?CSVの文字コード基礎知識をわかりやすく解説

UTF-8Shift_JIS文字コードCSV文字化けエンコーディング

CSVファイルを扱うとき、避けて通れないのが「文字コード」の問題です。UTF-8とShift_JIS——この2つの文字コードの違いを正しく理解しておけば、文字化けトラブルの大半を未然に防げます。この記事では、文字コードの基本からCSVでの実践的な使い分けまで解説します。

文字コードとは何か

コンピュータが文字を扱う仕組み

コンピュータは内部ですべてのデータを数値(0と1の列)として処理しています。文字コードとは、「どの数値をどの文字に対応させるか」を定めたルール(規格)のことです。

たとえば「あ」という文字は、UTF-8では「E3 81 82」という3バイトの数値、Shift_JISでは「82 A0」という2バイトの数値で表現されます。同じ文字でも文字コードが違えば数値が異なるため、書き出したときと異なる文字コードで読み込むと文字化けが発生します

代表的な文字コード一覧

文字コード正式名称策定時期特徴
UTF-8Unicode Transformation Format - 8bit1993年世界中の文字を扱える国際標準
Shift_JISShift Japanese Industrial Standards1982年日本語向けに設計された文字コード
EUC-JPExtended Unix Code for Japanese1985年Unix/Linux環境で使われた日本語用コード
ISO-2022-JP1993年メール用の日本語エンコーディング

現在のWeb・ビジネス環境で主に使われるのは UTF-8Shift_JIS の2つです。

UTF-8とShift_JISの違い

比較表

比較項目UTF-8Shift_JIS
対応文字数約14万文字(全世界の文字)約7,000文字(日本語中心)
日本語1文字のサイズ3バイト2バイト
英数字1文字のサイズ1バイト1バイト
Webサイトでの採用率98%以上ごくわずか
WindowsのExcelBOM付きなら対応標準で対応
Mac / Linux標準要変換
プログラミング言語標準レガシー対応

UTF-8の特徴

UTF-8はUnicodeを実装する文字コードで、世界中のあらゆる文字を1つのエンコーディングで表現できます。現在のWebサイトの98%以上がUTF-8を採用しており、事実上の国際標準です。

英数字は1バイト、日本語は3バイトで表現されるため、日本語の多いファイルはShift_JISよりサイズがやや大きくなります。ただし、絵文字や中国語・韓国語など多言語が混在するデータも問題なく扱えるのが強みです。

Shift_JISの特徴

Shift_JISは1982年にマイクロソフトとアスキーが策定した、日本語処理に特化した文字コードです。WindowsのExcelやレガシーな業務システムでは今でも広く使われています。

日本語を2バイトで表現するため、日本語中心のファイルではUTF-8よりコンパクトです。ただし、「①②③」「髙」「﨑」などの環境依存文字(機種依存文字)や、外国語の文字は扱えない制限があります。

BOM(バイトオーダーマーク)とは

BOMとは、ファイル先頭に付与される数バイトの識別子で、テキストの文字コードをソフトウェアに知らせる役割を持ちます。UTF-8のBOMは「EF BB BF」の3バイトです。

種類先頭バイトExcelでの動作
UTF-8(BOMなし)なしShift_JISとして読み込み → 文字化け
UTF-8(BOM付き)EF BB BFUTF-8として正しく読み込み
Shift_JISなしそのまま正しく読み込み

ExcelでCSVを開く用途なら「BOM付きUTF-8」または「Shift_JIS」を選ぶと安全です。

無料ツール

CSV文字コード変換

CSVファイルの文字コードを変換。Excel文字化けの解消に。

今すぐ使ってみる →

実務での文字コードの選び方

Shift_JISを選ぶべきケース

  • WindowsのExcelでCSVを直接開きたい場合
  • 社内の業務システム(勤怠管理、会計ソフト等)がShift_JIS指定の場合
  • 取引先からShift_JISで提出を求められた場合

UTF-8を選ぶべきケース

  • Webサービスにアップロードする場合(ほとんどがUTF-8対応)
  • Python・JavaScript等のプログラムで処理する場合
  • 多言語データ(中国語・韓国語等)を含む場合
  • GoogleスプレッドシートやMacで使用する場合

迷ったらUTF-8を基本に

新規にCSVを作成するなら、UTF-8を基本にするのがおすすめです。世界標準で対応範囲が広く、Shift_JISが必要な場面ではツールで変換すれば済みます。

無料ツール

CSV文字コード変換

CSVファイルの文字コードを変換。Excel文字化けの解消に。

今すぐ使ってみる →

よくある質問(FAQ)

UTF-8とShift_JISはどちらを使うべきですか?

基本はUTF-8を推奨します。ただし、WindowsのExcelでCSVを直接開く場合はShift_JISの方が確実です。sakuttoのCSV文字コード変換ツールを使えば、いつでもUTF-8⇔Shift_JISを相互変換できます。

CSVの文字コードを確認する方法はありますか?

Windowsならメモ帳でファイルを開くと、画面右下に「UTF-8」や「ANSI(= Shift_JIS)」と表示されます。Macではターミナルで file -i ファイル名.csv コマンドを実行すると確認できます。sakuttoのCSVビューアでも自動判定できます。

UTF-8のBOM付きとBOMなしの違いは何ですか?

BOM(Byte Order Mark)はファイル先頭の3バイト(EF BB BF)の目印です。WindowsのExcelはBOMを見てUTF-8と判定するため、BOM付きならExcelで文字化けしません。一方、プログラムで処理する場合はBOMなしが推奨されます。

Shift_JISとCP932(Windows-31J)は同じものですか?

厳密には異なります。CP932はマイクロソフトがShift_JISを拡張した文字コードで、「①②③」「Ⅰ Ⅱ Ⅲ」などの記号が追加されています。Windowsで「Shift_JIS」と呼ばれるものは、実際にはCP932であることがほとんどです。

文字コード変換でデータが壊れることはありますか?

Shift_JISからUTF-8への変換では、元のデータは完全に保持されます。逆にUTF-8からShift_JISへ変換する場合、Shift_JISで表現できない文字(絵文字や一部の漢字)は「?」に置換される可能性があります。sakuttoのCSV文字コード変換ツールはブラウザ内で処理されるため、ファイルがサーバーに送信されることはありません。

まとめ

UTF-8は世界標準で対応範囲が広く、Shift_JISはWindowsのExcelとの相性が良い日本語向けの文字コードです。CSVファイルの文字化けは、この2つの文字コードの不一致が原因です。用途に応じて適切な文字コードを選び、必要に応じて変換することで、文字化けトラブルを防げます。

無料ツール

CSV文字コード変換

CSVファイルの文字コードを変換。Excel文字化けの解消に。

今すぐ使ってみる →

関連ツール

無料ツール

CSV文字コード変換

CSVファイルの文字コードを変換。Excel文字化けの解消に。

今すぐ使ってみる

無料ツール

CSV→Excel変換

CSVファイルをExcel(.xlsx)形式に変換。文字化けなしで変換。

今すぐ使ってみる

無料ツール

CSVビューア

CSVファイルをテーブル形式で閲覧。大容量ファイルもサクッと表示。

今すぐ使ってみる

関連ツールカテゴリ

記事