「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時点における版

メインページ>コンピュータの部屋#Java

最近はプログラムのソースファイルを 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 では良いことないようです。 コマンド毎にまめにエンコーディングを指定するしかないようです。