GUIDE - 更新 2026-06-25
UTF-8、CP949、EUC-KR、Shift-JISの違い
CSVやExcelで使われるUTF-8、CP949、EUC-KR、Shift-JISの違いと、日本語・韓国語の文字化けを防ぐ確認方法。
CSV文字化け修正ツールを開く要点
UTF-8は現在のWebやAPIで広く使われる多言語向けの文字コードです。CP949とEUC-KRは韓国語の古い環境で、Shift-JISは日本語の古いWindowsや業務システムでよく見かけます。CSVの文字化けは、作成元と読み込み先が別の文字コードを想定しているときに起こります。
結論として、WebアップロードやAPI連携ではUTF-8、Excelで相手に渡すCSVではUTF-8 BOM、古い日本語システムではShift-JIS、古い韓国語システムではCP949/EUC-KRの可能性を先に確認します。どれが「正しい」かではなく、受け取るアプリがどの符号化を期待しているかを合わせることが重要です。
なぜ重要か
日本語と韓国語が混在するCSVでは、どちらか一方の環境だけを基準にすると文字化けが起こりやすくなります。Excel確認用、Webアップロード用、レガシーシステム用で安全な形式が違うことがあります。
特にCSVはファイル内に文字コード名を必ず持っている形式ではありません。拡張子が .csv でも、実際にはUTF-8、Shift-JIS、CP949、EUC-KRなど複数の可能性があります。Excelでダブルクリックしたときに読めるかどうかだけで判断すると、別の環境へ渡した瞬間に壊れることがあります。
比較表
| 文字コード | よく使われる場所 | 文字化けしやすい場面 | 確認ポイント | |---|---|---| | UTF-8 | Web、API、SaaS、現行システム | Excelが別の文字コードとして推測したとき | ブラウザーやAPIで読めるか | | UTF-8 BOM | Excel共有用CSV | APIやバッチがBOMをデータとして扱うとき | 先頭列名に余計な文字が付かないか | | CP949 | 韓国語Windowsや古い韓国語システム | UTF-8として読むと韓国語が崩れる | 韓国語の氏名・住所が自然に読めるか | | EUC-KR | 古い韓国語環境 | CP949の拡張文字を含むと再現できないことがある | CP949との互換範囲を確認する | | Shift-JIS | 日本語Windowsや古い業務システム | UTF-8として読むと日本語が崩れる | 会社名、住所、円記号、波ダッシュを確認する |
まず選ぶ基準
| 目的 | 最初に試す形式 | 理由 |
|---|---|---|
| Webフォームへアップロード | UTF-8 | 多言語データを扱いやすく、APIと相性がよい |
| Excelで相手に渡す | UTF-8 BOM | ExcelがUTF-8として認識しやすい |
| 日本の古い業務システムへ渡す | Shift-JIS | 受け取り側仕様がShift-JIS固定のことがある |
| 韓国の古い業務システムへ渡す | CP949またはEUC-KR | Windows系CSVがCP949前提のことがある |
| 日本語・韓国語混在データを長期保存 | UTF-8 | 複数言語を一つの形式で扱いやすい |
実務の確認順
- CSVの作成元を確認します。
- 元ファイルを保存してから作業します。
- CSV Encoding Fixerでサンプルを確認します。
- Excelではデータ取り込みで文字コードを選びます。
- アップロード先の仕様でBOM可否を確認します。
Excelで開く前のチェック
CSVをダブルクリックすると、Excelが地域設定や既定値をもとに文字コードと区切り文字を推測します。推測が外れると、文字化けだけでなく、すべての値が1列に入る、カンマを含む住所が列ずれする、先頭列名に見えないBOM由来の文字が混ざる、という問題も起こります。
安全な手順は、Excelを先に開き、データ取り込み画面で文字コードと区切り文字を切り替えながらプレビューを見ることです。日本語の会社名、韓国語の氏名、住所、金額、列数が同時に自然に見える組み合わせを選びます。
FixDataで確認する手順
- 元のCSVから10-30行だけをコピーします。
- CSV Encoding Fixerに貼り付けます。
- UTF-8、Shift-JIS、CP949/EUC-KRのどれを疑うべきか、文字化けの見え方を比べます。
- Excel共有用ならUTF-8 BOMのコピー、システム連携用なら仕様書に合わせた形式を選びます。
- 変換後のファイル名に
utf8,utf8-bom,shift-jisなどを入れ、元ファイルは上書きしません。
例
日本語の 株式会社サンプル が崩れる場合はShift-JISとUTF-8の不一致、韓国語の 홍길동 が崩れる場合はUTF-8とCP949/EUC-KRの不一致を疑います。どちらも、壊れた表示を保存する前に元ファイルから確認します。
company,name,note
株式会社サンプル,佐藤,請求書
샘플상사,홍길동,견적서
このように日本語と韓国語が同じCSVに入っている場合、古い単一言語向けエンコーディングへ寄せるほど失われる文字が増えます。保存・連携の基準はUTF-8に寄せ、どうしても古いシステムへ渡すときだけ変換コピーを作る方が安全です。
よくある失敗
| 失敗 | 起きること | 避け方 |
|---|---|---|
| 文字化けした状態で保存 | 元の文字情報が戻せなくなることがある | 元ファイルをコピーして作業する |
| Excelで読めたのでアップロードも同じ形式にする | API側でBOMやShift-JISを受け付けないことがある | 受け取り側の仕様を確認する |
| Shift-JISとCP949を同じ「古い文字コード」として扱う | 日本語と韓国語のどちらかが崩れる | 言語と作成元OSを分けて確認する |
| 列数だけ確認する | 文字は読めても引用符や区切り文字で列ずれする | サンプル行とヘッダーを一緒に確認する |
実務FAQ
UTF-8なら必ず安全ですか?
長期保存やWeb連携では安全な選択になりやすいですが、Excelや古い業務システムがUTF-8を正しく推測できるとは限りません。Excel共有用にはUTF-8 BOMが必要な場合があります。
Shift-JISをUTF-8に変換すれば文字化けは直りますか?
元ファイルが本当にShift-JISで、まだ壊れた状態で上書きされていなければ直せる可能性があります。すでに文字化け表示を保存したファイルは、元のバイト列が失われていることがあります。
CP949とEUC-KRは同じですか?
完全に同じではありません。韓国語Windows由来のCSVではCP949の可能性が高く、古い環境ではEUC-KR指定のことがあります。受け取り側仕様がある場合は仕様を優先します。
BOMは付けるべきですか?
Excel共有では役立つことがあります。一方で、API、データベース取り込み、バッチ処理ではBOMを余計な先頭文字として扱う実装もあるため、配布先ごとに分けたコピーを作るのが安全です。
関連ツール
関連記事
更新日
2026-06-25
参考にした公式文書
本文の判断基準を確認するために参照した公式文書です。
- Import or export text (.txt or .csv) filesMicrosoft Support - 確認日: 2026-06-25
- Encoding StandardWHATWG - 確認日: 2026-06-25
- TextDecoder - Web APIsMDN Web Docs - 確認日: 2026-06-25
- The Unicode StandardUnicode Consortium - 確認日: 2026-06-25