「JavaとGroovyでソースファイルのエンコーディングを指定するには」の版間の差分
提供: tknotebook
3行: | 3行: | ||
最近はプログラムのソースファイルを UTF-8 で書くことが多くなりましたが、 | 最近はプログラムのソースファイルを UTF-8 で書くことが多くなりましたが、 | ||
− | JVM系のコマンド Javac や Groovy は、読み込むファイルのエンコーディングの既定値が MS932 です。 | + | JVM系のコマンド Javac や Groovy は、読み込むファイルのエンコーディングの既定値が |
+ | 日本のWindows上では MS932 です。 | ||
Javac のエンコーディングで UTF-8 を指定するには | Javac のエンコーディングで UTF-8 を指定するには | ||
15行: | 16行: | ||
蛇足ですが、gradle は、gradle-2以降 既定で UTF-8 になったので | 蛇足ですが、gradle は、gradle-2以降 既定で UTF-8 になったので | ||
なにもする必要はなく、スクリプトは UTF-8 で書かねばなりません。 | なにもする必要はなく、スクリプトは UTF-8 で書かねばなりません。 | ||
+ | 出力メッセージは MS932 でコンソールに出力されます。 | ||
+ | |||
尚、環境変数 JAVA_OPTS を使って | 尚、環境変数 JAVA_OPTS を使って | ||
22行: | 25行: | ||
とすれば既定値が変わるらしいですが、Javadocに載っていませんし、 | とすれば既定値が変わるらしいですが、Javadocに載っていませんし、 | ||
javaのコンソール出力も UTF-8 になるため、Windows では良いことないようです。 | javaのコンソール出力も UTF-8 になるため、Windows では良いことないようです。 | ||
+ | コマンド毎にまめにエンコーディングを指定するしかないようです。 |
2016年5月28日 (土) 17:00時点における版
最近はプログラムのソースファイルを UTF-8 で書くことが多くなりましたが、 JVM系のコマンド Javac や Groovy は、読み込むファイルのエンコーディングの既定値が 日本のWindows上では MS932 です。
Javac のエンコーディングで UTF-8 を指定するには
javac -encoding UTF-8 ・・・・
groovy ののエンコーディングで UTF-8 を指定するには
groovy -c UTF-8 ・・・・
蛇足ですが、gradle は、gradle-2以降 既定で UTF-8 になったので なにもする必要はなく、スクリプトは UTF-8 で書かねばなりません。 出力メッセージは MS932 でコンソールに出力されます。
尚、環境変数 JAVA_OPTS を使って
JAVA_OPTS=file.encoding=UTF-8
とすれば既定値が変わるらしいですが、Javadocに載っていませんし、 javaのコンソール出力も UTF-8 になるため、Windows では良いことないようです。 コマンド毎にまめにエンコーディングを指定するしかないようです。