ダウンロードしたテキストファイルをメモ帳で開いたら「縺ゅ>縺・」のような呪文が並んでいた——そんな経験はないでしょうか。 これが「文字化け」で、原因はほぼ1つ:ファイルを保存した文字コードと、読み込むアプリの文字コードがズレていることです。 この記事では、文字化けの原因から、OS別・ツール別の修正手順、ブラウザで手軽に変換する方法まで、 実務ですぐ使える形で解説します。
文字化けの3大原因
テキストファイルの文字化けは、主に次の3つのパターンから発生します。 原因を正確に把握することで、対処方法が素早く選択できます。
1. 文字コードの不一致
コンピュータは文字を数値に変換して保存しています。「あ」という文字はShift_JISでは0x82A0、 UTF-8では0xE38182と、 文字コードによって異なる数値で表現されます。保存時はUTF-8、読み込み時はShift_JISのように解釈がズレると、 コンピュータは間違った表に照らし合わせてしまい、意味不明な文字列が表示されます。 これが文字化けの最も多い原因です。
2. BOMなしUTF-8をExcelが誤認する
Excelは日本語環境では既定でShift_JISを期待しています。 BOM(Byte Order Mark)という「UTF-8ですよ」という目印がないUTF-8ファイルを開くと、 Excelは「これはShift_JISだ」と誤解して読み込み、文字化けが起きます。 これはExcelとUTF-8の組み合わせで非常によく起きるパターンです。
3. 文字コード自体が宣言と不一致
HTMLやXMLには文字コードを宣言する箇所(charset属性など)がありますが、 実際のファイルの文字コードと宣言が食い違うと文字化けします。 たとえばファイルはShift_JISで保存されているのに<meta charset="UTF-8">と書かれていると、ブラウザはUTF-8として解釈して化けます。
文字コードの種類と特徴
日本語のテキストファイルを扱うときに登場する文字コードは主に4種類です。
| 文字コード | 特徴 | よく使われる場面 | 今後の動向 |
|---|---|---|---|
| UTF-8 | 世界中の文字に対応。日本語は3バイト | Web全般・macOS・Linux・モダンアプリ | 事実上の世界標準 |
| Shift_JIS | 日本語専用。日本語1文字は2バイト | Windows版Excel・レガシー業務システム | 日本では根強く残存 |
| EUC-JP | UNIX系日本語処理で主流だった。日本語は2バイト | 古いLinuxサーバー・レガシーWebシステム | 徐々にUTF-8へ移行中 |
| UTF-16 | 日本語を2バイト固定で表現。BOMが必要 | Windowsの内部処理・一部のExcelファイル | テキストファイルではほぼ使われない |
現代の新規開発ではUTF-8一択が推奨です。レガシーシステムとのデータ連携でShift_JISやEUC-JPが必要になることがありますが、 内部処理はUTF-8で行い、連携部分でのみ変換するのがベストプラクティスです。
OSごとの文字化け修正手順
使っているOSやエディタに応じて、最適な修正手順を選んでください。
Windowsのメモ帳で修正する
Windows 10 バージョン1903以降のメモ帳では文字コードを指定して保存できます。
- 文字化けしたファイルをメモ帳で開く
- 「ファイル → 名前を付けて保存」をクリック
- ダイアログ下部の「文字コード」ドロップダウンで目的の文字コードを選択(例:UTF-8)
- 保存して開き直す
ただしメモ帳は文字化けした状態のまま保存しても中身は化けたままです。文字化けしている場合は、正しい文字コードで「再度開く」操作が必要で、 メモ帳にはその機能がありません。正しい文字コードで開き直すには、VSCodeや以下のブラウザツールを使います。
VSCodeで修正する
VSCode(Visual Studio Code)は文字コードの指定・変換が最も柔軟にできるエディタです。 無料でWindows・macOS・Linuxすべてに対応しています。
- 文字化けしたファイルをVSCodeで開く
- 右下のステータスバーに表示されている文字コード名(例:「UTF-8」)をクリック
- コマンドパレットに「エンコード付きで再度開く」を選択
- 元の文字コード(例:Shift_JIS)を選ぶと正しく表示される
- 今後のために正しい文字コードで保存する場合は「エンコード付きで保存」を選択
ポイント
「エンコード付きで再度開く」は「文字化けしたファイルを正しく読み込む」操作、 「エンコード付きで保存」は「別の文字コードに変換して保存する」操作です。 目的に応じて使い分けてください。
Macのテキストエディットで修正する
macOSのテキストエディットは文字コードの細かい指定には向いていません。 文字化けを修正するには、VSCode(無料)をインストールするのが確実です。 または後述するブラウザツールが最も手軽です。テキストエディットで保存する場合は 「フォーマット → プレーンテキストにする」を選択してからUTF-8で保存することで、 余計な書式情報を除いたシンプルなテキストファイルを作れます。
ブラウザツールで文字コード変換する方法
インストール不要で最も手軽な方法が、ぱんだツールズのブラウザツールを使う方法です。 ファイルはサーバーに送信されず、すべてブラウザ内で処理が完結するため、 機密情報を含むファイルでも安心して使えます。
- 文字コードを確認する:まず文字コード確認ツールにファイルをドロップして、現在の文字コードを自動判定します。
- テキストファイルの文字コードを変換する:テキスト文字コード変換ツールにファイルをアップロードし、変換先の文字コードを選択してダウンロードします。
- CSVファイルはCSV専用ツールを使う:CSV形式のファイルはCSV文字コード変換ツールを使うと、区切り文字の扱いを保ちながらShift_JIS↔UTF-8を変換できます。
まとめ
- テキストファイルの文字化けは保存時と読み込み時の文字コードのズレが原因
- 主な文字コードはUTF-8・Shift_JIS・EUC-JPの3種類。新規開発ではUTF-8一択が推奨
- BOMはExcelとの相性を改善するが、プログラムで処理するときは付けない方が安全
- 修正方法は「VSCodeでエンコード付きで再度開く」→「エンコード付きで保存」が最も確実
- ブラウザだけで変換したい場合はテキスト文字コード変換ツールが便利(サーバー送信なし)
- 文字コードがわからないときは文字コード確認ツールで自動判定できる