IntelliJ IDEAでファイルのエンコードを設定




概要

たまに古いサイトの修正を頼まれたとき、ファイルの文字コードがShift_JISやEUC-JP、UTF-8いりまじっているサイトがあります。これをIntelliJ IDEAでファイルを開いて修正していると文字化けしたり変なエンコードで上書きしてしまったり困ることがあります。
防止のため、UTF-8以外の文字コードを扱うときは事前にエンコード設定をしておいたほうがいいので、IntelliJ IDEAでのファイルエンコーディング設定手順をまとめます。

IntelliJ IDEAのファイルエンコードの種類

グローバルエンコーディング、プロジェクトエンコーディング、ファイルエンコーディングの3種類があります。
グローバルエンコーディングはIntelliJ IDEA内でのデフォルトエンコーディングとなります。
プロジェクトエンコーディングは作成したプロジェクト内でのデフォルトエンコーディングとなります。
ファイルエンコーディングはファイル単位でのエンコーディングです。
優先順位はファイルエンコーディング > プロジェクトエンコーディング > グローバルエンコーディングとなります。
つまりファイルエンコーディングが設定されている場合はそれが優先され、未設定の場合はプロジェクトエンコーディングが使用されます。
プロジェクトエンコーディングも設定されていないばあはグローバルエンコーディングが使用されます。

ファイルエンコード設定手順

グローバルエンコーディング

IntelliJ IDEA全体のファイルエンコーディング設定はMacの場合だと「左上のIntelliJ IDEA > Preferences > Editor > File Encodings」のGlobal Encodingより設定できます。

プロジェクト単位のエンコーディング

グローバルエンコーディング設定と同様でMacの場合だと「左上のIntelliJ IDEA > Preferences > Editor > File Encodings」のProject Encodingで設定できます。

ファイル単位のエンコーディング

ファイル単位でファイルエンコーディングを設定する方法は2つあります。

ファイル単位のエンコーディング設定方法1

設定したいファイルを開くと右下に改行コードとファイルエンコーディングを選択できるリストがあります。

上記のUTF-8の部分はマウスオーバーすると「FIle Encoding」と表示されますが、ここをクリックするとエンコードリストが表示されます。
設定したいエンコードを選択すると完了です。
ただし、日本語を含むファイルの場合、新しいファイルエンコードで再読み込みするか、ファイルの文字コードを新しいファイルエンコードに変換するかを選択するダイアログが表示される場合があります。
ちなみにそのままですがLFの部分は改行コードを変更できます。
ここで変更した内容は、Macの場合だと「左上のIntelliJ IDEA > Preferences > Editor > File Encodings」で確認できます。
Windowsの場合は・・・・多分設定画面を開いたら同じ画面があると思います(笑)

ファイル単位のエンコーディング設定方法2

二つ目の方法ですが、方法1の最後で書いた場所と同じですが、Macの場合だと「左上のIntelliJ IDEA > Preferences > Editor > File Encodings」を開くと真ん中にリストがあり、左下の方に「+」ボタンがあります。
これをクリックするとファイルリストが表示されるので設定したいファイルを選択するとリストに追加されます。
追加直後はEncodingがみ設定になっているので、Encoding部分をクリックするとエンコードリストが表示されるので選択すると設定ができます。
なお、編集する場合は編集ボタン、削除する場合は削除ボタンがあるのでそれぞれクリックすると処理できます。
ちなみにこの方法でファイルを選択せずにディレクトリを選択しても処理は完了するのですが、ディレクトリはリストに追加されないので注意してください。
設定したディレクトリ配下のファイルエンコーディングは変わっていないので意味のない処理のようです。

最後に

最近はもうUTF-8以外のエンコードは使用することはほとんどないため、IntelliJ IDEAでプロジェクトを作成したら初期状態ではUTF-8になっているのであまり意識することはないと思いますが、たまーにEUC-JPだったりShift_JISだったり混在していることがあったりするので、忘れないようにまとめておきました。

参考

ファイル・エンコーディング(IntelliJ IDEAヘルプ)
https://pleiades.io/help/idea/settings-file-encodings.html#ide_encoding
個々のファイルエンコーディングの設定(IntelliJ IDEAヘルプ)
https://pleiades.io/help/idea/configuring-individual-file-encoding.html