eclipse(Juno)のソースコード記述欄の日本語の文字化けの対応~設定をUTF-8に変えてもダメな頑固な文字化け
eclipse(Juno)のソースコード記述欄の文字化け対応について記す。
備忘録でもある。
【1.背景】
Windows XPから8.1へのOS変更に伴い全てのアプリを再インストールすることになった。
これまでeclipseは、Indigoを使用していたがこの機会にJunoへバージョンアップをすることにした。
合わせて開発用Javaもjdk-6u24から最新(2014年1月7日時点)のjdk-7u45-nb-7_4にする。
【2.eclipseについて】
「わかりやすいJava」の著者、川場隆氏のHPに、eclipse(Juno)と開発用Javaが同梱されたファイルが登録されている。
このHPはhttp://www.k-webs.jp/index.html、ファイルの保存先はhttp://www.k-webs.jp/tools.htmlである。
但し、同梱されている開発用Javaは、最新ではないので個別にJavaのHPからダウンロードを行う。
【3.症状~設定を変えても文字化けする】
インストール後、ソースを読み込むと日本語の文字化けに見舞われた。
漢字、ひらがななどすべてが、♦に似た記号に置き換わっている。
文字化けの対策をググると次のようなものがあった。
① eclipse.iniの最終行にDfile.encoding=utf-8を入れろ
② eclipseの設定ー一般ーワークスペースのテキストファイルエンコードをUTF-8にしろ
③ Javadocを生成して~
などがあった。②の設定に関しては、他の箇所も弄ったような....
まぁ、いずれもeclipse側を弄るのはダメであった。
インストールに問題か?と思い適当なコードを入れて、日本語を入力しても文字化けはしない。
旧版のIndigoをインストールしても、何故か症状は変わらない。
【4.何故文字化けするのか?】
eclipseではなく、テキストエディタで見ると文字化けは全くない。
故に、ファイルが壊れている訳ではない。
私が使用しているエディタは、TeraPad(ver1.08)。
このエディタのメニューに「文字コード指定再読み込み」がある。
サブメニューで色が薄くなっているところが、現在で読み込んでいる文字コードの状態である。
過去に書いたJavaソースファイルは、何れもSHIFT-JISで読めばエディタ上では正しく表示される。
しかし、UTF-8など他の文字コードで読み込めば、文字化けする。
Indigo、Juno側で、SHIFT-JISで読み込めれば問題ないと考えられる。
しかし、eclipseの設定をSHIFT-JIS相当のMS932にしても文字化けする(と言うかデフォルトがMS932で、MS932でソースを読み込んで文字化けするのだ)。設定変更してeclipse再起動でもダメ。
ウィキペディアによれば、SHIFT-JISの拡張版が文字コードMS932であるのだが.....少なくとも両eclipse上では互換が十分にあるとは言えない(私の環境では)。
【5.対応策】
ソースファイルの文字コードをUTF-8にすればよいと考えられる。
試しに1ファイルだけ、書き換えてeclipse(Juno)で再度読み込むと文字化けなし。
手動での書き換えも可能であるが、よいフリーウエアがある。
文字コード判定&変換ツール.NET
http://www.vector.co.jp/soft/winnt/util/se476748.html
これを使った。
これを使えば、フォルダ(サブフォルダ含め)ごと一括で、SHIFT-JISからUTF-8へ書き換え可能である。
但し、eclipseで文字化け状態で読み込んで、eclipse上でソースを改変し保存してしまったファイルは、そのときの保存コードに左右されるので上手く変換しない(当然であるが)。
このフリーウエアの使い方は、
http://d.hatena.ne.jp/Zellij/20130920/p1
が分りやすい。
結果的には、このフリーウエアで一括変換し、日本語の文字化け問題は解決できた。
尚、改めて川場隆氏のHPを見ると
http://www.k-webs.jp/OOP_Intro.html
に「文字化け」とは書いていないが、左下に対策のヒントが記載されていた(Macユーザー向け)。
それにしてもこれまで使用していた旧バージョンのIndigoで何故文字化けとなったのか?
XP上では、一度も文字化けの経験はないにも関わらずだ。
XPから8.1にしたことで何かが変わったのか?この点については調べていないので分らない。
【6.おまけ】
以下、私的には未確認の話。
Windowsの改行コードは CR+LF 、しかし、eclipse.iniの改行コード(デフォルト)は、LFとされる。
LFは、UNIX系OSやLinuxで標準的に使われているらしい。
改行コードの変更方法は、DOS窓から、
more eclipse.ini > eclipse.tmp
move eclipse.tmp eclipse.ini
でOKらしい。
この改行コードの件は、文字化けの件でググっているときに発見した。
出展は、日立のHPで、http://www.hitachi.co.jp/Prod/comp/soft1/cosminexus/useful/tips/090703_eclipseini-lineseparator.htmlである。ここは、日立が作成したJava開発者向けのTips集のページの1つ。信頼性は高いと考えられるので参考にしたい。
| 固定リンク
「パソコン・インターネット」カテゴリの記事
- 起動時、hal.dllがない⇒bootcfg /rebuild⇒Windowsの再インストール⇒いつの間にかBIOS認識せず⇒原因は、シーゲート(SEGATE)のファームウエア問題によるHDDロック⇒FT232RLでロック解除⇒ファイル読み出し成功(2011.04.15)
- ココログとFC2ブログへのPCメールによる写真投稿について~1通のメールに複数枚の写真を添付しての投稿は可能か?(2014.01.21)
- Windows8.1で秋月のAKI-PICプログラマー Ver.4を動かしてみる(2014.01.18)
- トラックボール(ロジテック)のボタンが壊れたのでDIYで修理(マウスに応用可)(2014.01.12)
- Windows8.1にDino-Lite(マイクロスコープ)を再インストールし動作確認を行う(2014.01.14)
「携帯電話・スマートフォン」カテゴリの記事
- 白ロムのまま自宅でWi-Fi専用器として使うスマホ選び~OSのアップデートも可能なhtc EVO3D ISW12HT(未使用品)を買う(2013.03.11)
- 台湾HTCが、SETIプロジェクトのような技術をスマホで実現するサービスPower To Giveを発表(2014.02.26)
- eclipse(Juno)のソースコード記述欄の日本語の文字化けの対応~設定をUTF-8に変えてもダメな頑固な文字化け(2014.01.08)
- ドコモのスマホ ARROWS F-04Eを約半年使用して(バッテリーの持ちをよくするために強制停止あるいは無効にしているプリインアプリ)(2013.06.18)
- eclipse Androidの開発ツールなどのADTバージョンアップで新規プロジェクトの作成が出来ない 『com.android.ide. eclipse.adt.internal.wizards.templates.ActivityPage.setLauncherActivitiesOnly(Z) V.』(2013.03.29)
コメント