cypher256's blog

Pleiades とか作った

Ant のコンソール・エンコーディング

WindowsのEclipse3.4上でAntを動かす場合のみですが、コンソールエンコーディングを設定しないと、日本語がコンソールに表示されません。文字化けして出力されるならまだいいのですが、何も出力されないので、動いているのかどうかわからなくなってしまうのです。困ったものです><。
(略)
「Common」タグを選び、「Console Encoding」で「MS932」を選択します。

S2JDBC-Genでデータベースリファクタリング - taediumの日記

id:taedium さんの上記エントリーで知ったのですが、Eclipse 3.4 からは Ant のコンソール・エンコーディングを設定しなければならないようです。下記にコンソール・エンコーディングを指定しなかった場合の Eclipse バージョン別のデフォルトを示します。

Eclipse 3.3 以前 OS デフォルト (Windows では MS932)
Eclipse 3.4.0、3.4.1 ワークスペースエンコーディング設定
Eclipse 3.4.2 プロジェクトのエンコーディング設定


Windows では Eclipse 3.4 以降、外部ツール構成 > 共通タブ > コンソール・エンコーディング を構成ごとに MS932 にする必要があります。Eclipse 3.4.1 (Ganymede SR1) までは、ワークスペースを MS932、プロジェクトを固有のエンコーディング設定にすることで個別設定を回避できましたが、3.4.2 (Ganymede SR2) ではプロジェクトが MS932 以外だった場合、個別に設定する以外に方法がなくなってしまいました。

これでは面倒すぎるため、Pleiades 1.3.0.I20090303 以降で Ant の外部ツール構成に限り、コンソール・エンコーディングの指定がない場合は OS デフォルトのエンコーディングで動作するように拡張しています。