[???] /
[Java FAQ] / [S156]
S156: ソースコード中の文字列(国際化/日本語化)
[S156 Q-01]
日本語を表示すると化けてしまいます。
コンパイルすると
文字列が行の最後で終了していません。
というエラーが出ます。ソースは間違っていないようなのですが。
[S156 A-01]
ソースコードのエンコード(Shift JIS や EUC-JP 等)が、
使っている OS で標準的でないものになっているせいかも知れません。
その場合、コンパイラがソースファイルに書かれている文字を
正しく認識できないため、この現象が起きます。
標準的なものにソースファイルを変更するか、
javac コマンドの -encoding オプションを使用して下さい。
-encoding オプションを使用する場合は、
Windows の場合は EUCJP、
UNIX 系の OS の場合は SJIS を指定してみて下さい。
参考記事 [JavaHouse-Brewers:9153] [JavaHouse-Brewers:8761]
[S156 Q-02]
Shift_JISやEUC-JPで書かれたソースは厳密にはJavaのソースではないのでは?
[S156 A-02]
そうですね。
言語仕様では Java のソースは Unicode で書く事になっています。
(JLS CHAPTER 3 Lexical Structure を参照)
参考記事 [JavaHouse-Brewers:8048]
[S156 Q-03]
ソースファイル中から国際化すべき文字列部分を探し出すには?
[S156 A-03]
Internationalization and Localization Toolkit があります。
http://www.javasoft.com/products/jilkit/
これが昔は JIRM と呼ばれていたツールです。
参考記事 [JavaHouse-Brewers:16628]
contributor:Norikazu Nakato
コメントの送り先:Java FAQ BBS