「JavaとGroovyでソースファイルのエンコーディングを指定するには」の版間の差分

提供: tknotebook
移動: 案内検索
 
(1人の利用者による、間の4版が非表示)
1行: 1行:
 
[[Category:コンピュータ]][[Category:Java]]
 
[[Category:コンピュータ]][[Category:Java]]
[[メインページ]]>[[コンピュータの部屋#JavaFX]]>[[Java Tips]]
+
[[メインページ]]>[[コンピュータの部屋#Java]]>[[Java Tips]]
  
  
 
最近はプログラムのソースファイルを UTF-8 で書くことが多くなりましたが、
 
最近はプログラムのソースファイルを UTF-8 で書くことが多くなりましたが、
 
JVM系のコマンド Javac や Groovy の読み込むファイルのエンコーディングの既定値は
 
JVM系のコマンド Javac や Groovy の読み込むファイルのエンコーディングの既定値は
日本のWindows上では MS932 です。
+
日本のWindows上では MS932(シフトJIS) です。
  
 
Javac でソースファイルのエンコーディングで UTF-8 を指定するには
 
Javac でソースファイルのエンコーディングで UTF-8 を指定するには

2016年11月11日 (金) 01:50時点における最新版

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


最近はプログラムのソースファイルを UTF-8 で書くことが多くなりましたが、 JVM系のコマンド Javac や Groovy の読み込むファイルのエンコーディングの既定値は 日本のWindows上では MS932(シフトJIS) です。

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 では良いことないようです。 コマンド毎にまめにエンコーディングを指定するしかないようです。