Eclipse 日本語 (Shift-JIS) ファイルの文字化け
Androidアプリ開発は、ブログを最後に更新した3月末以来、ご無沙汰していました
半年ぶりの再開です
すぐに休止するかもしれませんが
簡単な Web ブラウザのコードを以前に手に入れてありました。
それをまずは読んで理解しよう!
と思って、ADT (Android Development Tools) の Eclipse を起動すると、、、
文字化けです
Java の知識が貧弱なので、コメントの文字化けは痛すぎる
しかし、文字化け対策は簡単にできました。
以下、その備忘録です。
結局、最後に記載したとおり、ファイルを UTF-8 に変更することにしました。
nkf はデフォルトではインストールされていなかったので、apt-get からです。
Shift-JIS でした。Windows で開発されたコードなんですね。きっと。
File メニュー → Properties を開きます。
Resources にて、上記の赤で囲った "Text file encoding" で "Other:" を選んで、"sjis" と入力しました。"sjis"はプルダウンに無い場合は直接、入力できるようです。
「直接入力できるの?!」は私もビックリでしたが、ウェブ検索すると沢山ヒットします。
少し戸惑ったのは、Eclipse の再起動が必要だったことです。
再起動すると Shift-JIS コードが正しく表示されました。
さらに、再起動後は上記のメニューを切り替えると即座に反映されました。
日経BP ITpro さんの記事
に解説されている iconv というコマンドで無事にコードを変換できました。
iconv はインストール済みでした。nkf は無かったのに
iconv のオプションで文字コードを指定します。さらに、出力ファイルを "-o" オプションに続けて指定しますが、これを入力ファイルと同一名で指定しても OK でした
文字コードを指定するオプションには短縮形も使えます。
変換後の文字コードを確認すると、UTF-8 になっていました。
これでデフォルト設定でも、日本語のコメントがちゃんと表示されます
最後に、念のため、Eclipse のバージョンは下記の通りです。
Eclipse Platform 4.2.2.M20130204-1200 org.eclipse.platform.ide
半年ぶりの再開です
すぐに休止するかもしれませんが
簡単な Web ブラウザのコードを以前に手に入れてありました。
それをまずは読んで理解しよう!
と思って、ADT (Android Development Tools) の Eclipse を起動すると、、、
文字化けです
Java の知識が貧弱なので、コメントの文字化けは痛すぎる
しかし、文字化け対策は簡単にできました。
以下、その備忘録です。
結局、最後に記載したとおり、ファイルを UTF-8 に変更することにしました。
文字コードを調べる
Linux では nkf というコマンドで文字コードを調べられるようです。nkf はデフォルトではインストールされていなかったので、apt-get からです。
$ sudo apt-get install nkf
$ nkf -g MainActivity.java
Shift_JIS
Shift-JIS でした。Windows で開発されたコードなんですね。きっと。
Eclipse の文字コードを Shift-JIS に変更する
まずは、Eclipse で Shift-JIS を表示してみました。File メニュー → Properties を開きます。
Resources にて、上記の赤で囲った "Text file encoding" で "Other:" を選んで、"sjis" と入力しました。"sjis"はプルダウンに無い場合は直接、入力できるようです。
「直接入力できるの?!」は私もビックリでしたが、ウェブ検索すると沢山ヒットします。
少し戸惑ったのは、Eclipse の再起動が必要だったことです。
再起動すると Shift-JIS コードが正しく表示されました。
さらに、再起動後は上記のメニューを切り替えると即座に反映されました。
Java ソースファイルの文字コードを UFT-8 に変更する
ファイルの文字コードを Shift-JIS から UTF-8に変更すれば、Eclipse はデフォルト設定でも日本語を表示できるはずです。日経BP ITpro さんの記事
に解説されている iconv というコマンドで無事にコードを変換できました。
iconv はインストール済みでした。nkf は無かったのに
iconv のオプションで文字コードを指定します。さらに、出力ファイルを "-o" オプションに続けて指定しますが、これを入力ファイルと同一名で指定しても OK でした
$ iconv --from-code SJIS --to-code UTF8 -o MainActivity.java MainActivity.java
文字コードを指定するオプションには短縮形も使えます。
$ iconv -f SJIS -t UTF8 -o MyWebViewFragment.java MyWebViewFragment.java
変換後の文字コードを確認すると、UTF-8 になっていました。
$ nkf -g *
MainActivity.java: UTF-8
MyWebViewFragment.java: UTF-8
これでデフォルト設定でも、日本語のコメントがちゃんと表示されます
最後に、念のため、Eclipse のバージョンは下記の通りです。
Eclipse Platform 4.2.2.M20130204-1200 org.eclipse.platform.ide