Mac OSX lionでjava compile しようとしたら文字化けで困ってた話
タイトル通りですけど。
こっちはルポ風。かなり見苦しいです。
答えだけ知りたい人はこっち
ひとまずggr
mac java compile 日本語 文字化け - Google 検索
をみて
[Java][Mac OS X] javacのログが文字化けする: Akito's IT技術 メモ
macでjavaを使ってたら文字化けして困った。 - rderaログ
44ATTACK|[mac] Java のコンパイルで文字化けしたらすること
らへんを確認。どうやらjavaがエラーメッセージを日本語で吐き出してるが、ターミナルの日本語エンコードとずれてて文字化けが起こるらしい。
Test.java:4: ?x??:???̕????́A?G???R?[?f?B???O SJIS ?Ƀ}?b?v?ł??܂???B
System.out.println("n1="+ n1 +"で??);
^
Test.java:4: ??????e???????????Ă??܂???B
System.out.println("n1="+ n1 +"で??);
^
Test.java:4: ';' ??????܂???B
System.out.println("n1="+ n1 +"で??);
^
Test.java:6: ?\????͒??Ƀt?@?C???̏I???Ɉڂ?܂???
}
^
?G???[ 3 ??
?x?? 1 ??
みたいなエラーメッセージみたら初心者は引き返しますよ。普通。
とりあえず
"javac -J-Dfile.encoding=UTF8 hoge"とオプションをつけてエンコードして
"java -Dfile.encoding=UTF8 hoge"と実行したら
日本語出力が正しくされたのを確認。
いつもコンパイル/実行するたびにコレじゃあ不格好なので~/.bashrc に予約してしまう。
ターミナルひらいて
pico .bashrc
して
alias javac javac -J-Dfile.encoding=UTF8
alias java java -Dfile.encoding=UTF8
つもりだった。
~/.bashrc 上記3ファイル内から「source .bashrc」など、ちゃんと書いてロードする
独特だなと思ったのは大体こんな所です。
/etc/bashrc は /etc/profile 内から明示的にロードされている
~/.bashrc はどこかでロードするよう書かないと、読み込まれない
/etc/paths という仕組み
リトライ。今度は~/.bash_profileに書く。
alias javac javac -J-Dfile.encoding=UTF8
alias java java -Dfile.encoding=UTF8
ターミナルを再起動。
なんか起動時に
-bash: alias: javac: not found
-bash: alias: javac: not found
-bash: alias: java: not found
-bash: alias: java: not found
表示されてる。引用符忘れた( °A°)
alias javac='javac -J-Dfile.encoding=UTF8'
alias java='java -Dfile.encoding=UTF8'