※購入先、ダウンロードへのリンクにはアフィリエイトタグが含まれており、それらの購入や会員の成約、ダウンロードなどからの収益化を行う場合があります。

文字コードを確認する方法|Windows/Macで最短手順

「ダウンロードしたCSVが“ポ?ヨ”になった…」「どのエンコードで保存されてるのかわからない」——そんな“文字化けあるある”を、最短手順で秒解決。この記事では、Windows/Mac 共通で使える超実用ワークフローを、GUI(VS Code/Notepad++)とCLI(file -I / nkf / iconv)の両輪で解説します。
ポイントは、推定 → 目視確認 → 必要なら安全変換の3ステップ。コピペで動くコマンドと、Excel取り込みの落とし穴回避も網羅。今日から「文字コードで詰まる時間」をゼロにして、作業に全集中しましょう。

※本コンテンツは「記事制作ポリシー」に基づき、正確かつ信頼性の高い情報提供を心がけております。万が一、内容に誤りや誤解を招く表現がございましたら、お手数ですが「お問い合わせ」よりご一報ください。速やかに確認・修正いたします。

この記事のまとめ
  • 推定は複数手段+目視(VS Code表示 × file -I × nkf --guess

  • 変換は必ずバックアップ→小さく試す→本番iconv活用)

  • 再発防止はUTF-8(BOMなし)統一.editorconfig/.gitattributes/pre-commit

文字コードを確認する方法|Windows/Macで最短手順

  • Windows 最短

    1. VS Codeでファイルを開く → 右下の「UTF-8 / Shift JIS など」を見る

    2. 右下をクリック → Reopen with Encoding で判別・再オープン

    3. 必要なら Save with Encoding で保存形式を変更

  • macOS 最短

    1. VS Codeで開いて右下のエンコード表示を確認

    2. 端末で file -I <ファイル名>(おおよその判定)

    3. 判別が難しい時は nkf --guess <ファイル名>(要インストール)

重要:BOMが無いテキストは完璧に自動判定できない場合があります。複数手段で照合&表示が崩れないか目視確認が安全です。


まずは“秒で確認”:GUI派の最短ルート

Windows / macOS 共通:VS Code(無料)

  1. ファイルを開く

  2. 右下ステータスバーのEncoding(例:UTF-8, UTF-8 with BOM, Shift JIS, EUC-JP など)を確認

  3. 右下の表示をクリック →

    • Reopen with Encoding:別の想定エンコードで開き直して表示チェック

    • Save with Encoding:狙いのエンコードで保存(変換)

ポイント

  • 判別に迷ったら UTF-8(BOMなし) を第一候補に。

  • 旧来データやWindows依存システムではShift_JISが混在しがち。開き直しで崩れない方が正解の可能性大。

Windows:Notepad++(無料・軽量)

  1. ファイルを開く

  2. 下部ステータスバーのEncoding表示を確認(例:UTF-8, UTF-8-BOM, ANSI=多くはShift_JIS相当)

  3. メニュー [エンコード] → 必要に応じて変換


コマンドで一発確認:CLI派の最短ルート

Windows(PowerShell)

BOM判定(先頭バイトを見る)

# 先頭の数バイトを16進で表示(BOMの有無をざっくり確認)
Get-Content -Path .\sample.txt -Encoding Byte -TotalCount 4 |
ForEach-Object { ‘{0:X2}’ -f $_ } -join ‘ ‘
  • 代表的BOM

    • EF BB BF → UTF-8 (BOMあり)

    • FF FE → UTF-16 LE

    • FE FF → UTF-16 BE

WSL or Git Bash が使えるなら(推奨)

file -I sample.txt
# 例: text/plain; charset=utf-8 などと出力

macOS(標準でOK)

# MIMEタイプ+charset を推定表示
file -I sample.txt
# nkfでより日本語向けに推定(Homebrewで事前に導入:brew install nkf)
nkf –guess sample.txt
# 例: UTF-8 (LF) / Shift_JIS (CRLF) といった形で出力

よく使う変換(バックアップ推奨)

# iconvでShift_JIS → UTF-8へ変換(上書き回避のため一旦別名出力)
iconv -f SHIFT_JIS -t UTF-8 old.txt > new.txt

ケース別の最短解

  • WebでダウンロードしたCSVが文字化け

    1. VS Codeで開いて右下確認 → Reopen with Encoding で Shift_JIS を試す

    2. 正しく読めたら Save with Encoding: UTF-8 で保存し直し

    3. Excel取り込み時は「データの取得」ウィザードでファイルの原点/エンコードを明示

  • ログが巨大で重い

    • file -I(mac/WSL)でまず推定 → 正しそうなら iconv で変換 → 変換後をビューアで開く

  • 混在プロジェクト(UTF-8とSJISが共存)

    • ルートで一括チェック(mac/WSL)

      find . -type f -name “*.txt” -print0 | xargs -0 file -I | grep -v “charset=utf-8”

      → UTF-8以外を洗い出して方針決定


覚えておくと速い“見分けのコツ”

  • BOMつきUTF-8 は判別が容易(EF BB BF)。BOMなしUTF-8 と Shift_JIS は内容次第で誤判定しやすい。

  • 濁点・半角カナ・記号が多い日本語テキストはShift_JISとの誤判定が起きやすい。

  • 表示が崩れる/文字化け → まず UTF-8 ↔ Shift_JIS を切り替え比較。

  • チーム/ツール規約で UTF-8(BOMなし)統一 を決めると後々のトラブルが激減。


失敗しない変換フロー(安全版)

  1. 原本を必ずバックアップ

  2. 現状エンコードを複数手段で推定(VS Code表示+file -I/nkf --guess

  3. 小さなサンプルiconv変換→化けないか確認

  4. OKなら本番一括変換→ 版管理にコミット


よくある質問(FAQ)

Q. 100%正確に当てられますか?
A. いいえ。BOMが無いテキストは内容に依存し、自動判定は不確実です。複数の手段で照合+目視チェックが最善です。

Q. ExcelでCSVが化けます
A. 直接ダブルクリックではなく、データの取り込みウィザードから開き、エンコードを指定してください。元がShift_JISならUTF-8に変換してから取り込むのも有効です。

Q. どのエンコードに統一すべき?
A. 迷ったらUTF-8(BOMなし)推奨。異文化圏・各種ツールで最も互換性が高い運用実績があります。