VS Codeでファイルを開いたら、日本語のところが「�」のような記号だらけになっていた。そんな経験はありませんか?
私も、プログラムや人からもらったファイルを開いたときに、ときどき文字化けします。そういうときは、画面の右下から「Shift JIS」を選び直して開き直しています。VS Codeは、最初の設定では「Shift JIS」で開かないからです。
この記事では、その直し方を順番に説明します。あわせて、直すつもりでファイルを壊してしまう落とし穴もまとめました。
結論:「エンコード付きで再度開く」でShift JISを選ぶ
| やりたいこと | 押すところ |
|---|---|
| 文字化けを直して読む | 右下の[UTF-8]→[エンコード付きで再度開く]→[Japanese (Shift JIS)] |
| ファイルの形そのものを変える | 右下の[UTF-8]→[エンコード付きで保存]→ 保存したい形 |
| 毎回選ぶのが面倒 | 設定の「Auto Guess Encoding」にチェック |
文字化けしたときに押すのは、「再度開く」のほうです。「保存」のほうではありません。理由はあとで説明します。
なぜ文字化けするの?
文字は、パソコンの中では数字の並びとして保存されています。その「文字と数字の対応表」が文字コード(VS Codeでは「エンコード」と呼びます)です。
日本語でよく使われる文字コードは、おもに2つあります。
- UTF-8:いまの標準。VS Codeは最初の設定でこれを使います
- Shift JIS:昔のWindowsでよく使われた形。古いプログラムや、人からもらったファイルに残っています
Shift JISで書かれたファイルを、UTF-8の対応表で読もうとすると、正しい文字に戻せません。これが文字化けです。ファイルが壊れているわけではなく、読み方がずれているだけなので、読み方を変えれば元どおりに読めます。
Shift JISで開き直す手順
STEP 1:右下の「UTF-8」をクリック
VS Codeの画面のいちばん下(ステータスバー)の右のほうに、「UTF-8」と表示されています。これが、いまファイルを読んでいる文字コードです。ここをクリックします。
STEP 2:[エンコード付きで再度開く]を選ぶ
画面の上に「アクションの選択」と出て、2つの項目が並びます。
- エンコード付きで再度開く ← こちらを選ぶ
- エンコード付きで保存
日本語表示のVS Codeでは、それぞれの下に英語の名前(Reopen with Encoding など)も小さく出ます。
STEP 3:[Japanese (Shift JIS)]を選ぶ
文字コードの一覧が出ます。いちばん上に、VS Codeが中身から推測した文字コードが「コンテンツから推測」という説明つきで出ていることがあります。Shift JISのファイルなら、ここにJapanese (Shift JIS)が出ることが多いです。
出ていないときは、上の入力欄に shift と打つと、Japanese (Shift JIS) だけに絞り込めます。選ぶと、その場で読み直されて、日本語が正しく表示されます。右下の表示も「Shift JIS」に変わります。
このまま直して保存すると、ファイルはShift JISのまま保存されます。相手のソフトがShift JISで読む前提なら、それで大丈夫です。
「再度開く」と「保存」はまったくちがう
名前が似ていますが、やっていることは正反対です。
| 項目 | やること | ファイルの中身 |
|---|---|---|
| エンコード付きで再度開く | 読み方を変える | 変わらない |
| エンコード付きで保存 | 選んだ文字コードで書き直す | 書き換わる |
文字化けして見えている状態で「保存」を選ぶと、化けた文字のまま書き直されてしまいます。先に「再度開く」で正しく読めるようにして、それから必要なら「保存」で形を変える、という順番です。
つまずきやすいところ
VS Codeのインストール記事では、最初の設定として自動保存をおすすめしています。便利な設定ですが、文字化けのときだけは気をつけてください。
毎回選ぶのが面倒なら:文字コードを自動で推測する設定
Shift JISのファイルをよく開くなら、開くときにVS Codeに文字コードを推測させる設定があります。最初はオフになっています。
- メニューの[ファイル]→[基本設定]→[設定]を開く(Ctrl+, でも開けます)
- 上の検索欄に
autoGuessEncodingと入力する - 「Files: Auto Guess Encoding」のチェックを入れる
これで、ファイルを開くときにVS Codeが中身を見て文字コードを推測するようになります。ただし推測なので、外れることもあります。短いファイルや、日本語が少ししか入っていないファイルは、当てにくいことがあります。外れたときは、上の手順で選び直してください。
なお、最初の文字コードそのもの(「Files: Encoding」)をShift JISに変える方法もあります。ただ、そうすると新しく作るファイルもShift JISになります。いまはUTF-8が標準なので、最初の設定はUTF-8のままにしておくのがおすすめです。
よくある質問
Q. UTF-8に変えて保存し直してもいいですか?
自分だけで使うファイルなら、正しく読めている状態で[エンコード付きで保存]→[UTF-8]を選べば変えられます。ただし、そのファイルをShift JISで読む前提の古いソフトや相手に渡すなら、変えないほうが安全です。人からもらったファイルは、そのままの形で返すのが基本です。
Q. フォルダー全体から検索すると、文字化けしたファイルが見つかりません
VS Codeの公式の説明によると、「Auto Guess Encoding」はフォルダー全体の検索には効きません。検索では「Files: Encoding」の設定だけが使われます。Shift JISのファイルの中の日本語を検索したいときは、この点に気をつけてください。
Q. 右下に「UTF-8」が出ていません
ファイルを開いて、そのファイルのタブを選んでいるときに表示されます。何も開いていないときや、ファイル以外の画面(設定など)を見ているときは出ません。
まとめ
VS Codeの入れ方と最初の設定は、VS Codeのインストール・日本語化|初期設定とターミナルの使い方にまとめています。もっと軽いテキストエディターを探しているなら、Notepad++の日本語化と初期設定もどうぞ。

コメント