![[tips][Sublime Text] Sublime Text 3で文字化けしない方法](https://casualdevelopers.com/wp-content/uploads/2014/01/sublimetext3logo-512x300.jpg)
Sublime Text 3の設定自体は以前の記事(Sublime Text 3をインストールしたらまずやること)で紹介しました。今回は、特に文字コードに着目して、文字化けしない方法を説明します。
見出し
Sublime Textは「UTF-8」しか扱えないと思うこと!
プログラミングをする場合、文字コードは「UTF-8」にするのが基本です。Python、Ruby、Perl、Java、HTML、CSS等すべてです。なぜかというのは難しいのですが、簡単に言うと、プログラムは英語で記述するので、ASCIIコードを包括する「UTF-8」で記述すればファイルサイズが最少になるというメリットや、TwitterやFacebook等のAPIの文字コードが「UTF-8」であるため、無駄な文字コード変換をする必要がないメリットなどがあります。
Sublime Textはプログラミングのためのエディタですから、デフォルトで「UTF-8」を採用しています。「Preference -> Settings – Default」を確認してみてください。以下の記述が見つかります。
{ "default_encoding": "UTF-8", "fallback_encoding": "Western (Windows 1252)", }
これはデフォルトのエンコーディングを「UTF-8」で行い(Ctrl+nで新規作成したファイルは「UTF-8」になる)、文字コードが不明なファイルを開くと「Windows 1252」で開かれることを意味しています。
お気づきかもしれませんが、ここを両方とも「Shift-JIS」にすれば、「Shift-JIS」のファイルも扱えるはずですが、残念ながらSublime Textは「Shift-JIS」に対応していません。つまり、日本語を扱いたい時は、「UTF-8」で扱うようにする必要がります。デフォルトでは、日本人には使い道のない「Windows 1252」が使用されているので、「Preference -> Settings – User」に以下を追記しましょう。
{ "default_encoding": "UTF-8", "fallback_encoding": "UTF-8", "show_encoding": true, }
これで、Sublime Text上で扱う文字コードが「UTF-8」であることが確定しました。「show_encoding」の設定により、右下のステータスバーにエンコーディングの文字コードが表示されるようになります。エンコーディングの文字コードは「Ctrl+`」でコマンドラインを開き、「view.encoding()」と入力しても確認できます。
ちなみに、Sublime Textの「UTF-8」にはBOMはありませんから安心して下さい。そもそも「UTF-8」にはエンディアンを指定する必要はないので、無駄な仕様ですよね。
「Shift-JIS」のファイルを扱う方法
Sublime Textでは「UTF-8」しか扱えないとしても、「Shift-JIS」のファイルを編集する方法はあります。「Shift-JIS」から「UTF-8」に変換して開く -> Sublime Textで編集 -> 「UTF-8」から「Shift-JIS」に変換して保存、といった流れです。
これを実現してくれるのが、以下のプラグインです。2つ紹介します。Package Controlからインストールしてみて下さい。
#1 「ConvertToUTF8」
開いたファイルの文字コードを自動的に判別して「UTF-8」に変換してくれる便利なプラグインです。ファイルを編集して保存すると、元の文字コードで保存されます。
#2「EncodingHelper」
手動で「Edit」からファイルの文字コードを選択して「UTF-8」に変換できるようにしてくれるプラグインです。「ConvertToUTF8」は自動で便利ですが、たまに間違えて変換することがあるので、手動で変換できると便利です。
これで、Sublime Textで文字化けしないで、ファイルを編集できるようになりました。とはいっても、プログラムの文字コードは「UTF-8」に統一して扱うのがベターですよ。
環境
OS : Windows7
Sublime Text : Sublime Text 3

