Javaで入出力の文字コード

なんかFileOutputStreamとかで適当に出力したら、UTF-8で読み込んだはずなのにSJISになった。
「なんじゃこりゃ」と思ったら、デフォルトエンコーディングとかいうのがWindowsだとSJIS(MS932)になるらしい。なんというふざけた言語か。
実はFileOutputStreamしてるのはライブラリの中なのでいじるのはめんどくさいし、どうしたらいいのかといろいろ調べた結果、VM引数で

-Dfile.encoding=UTF-8

とすれば良いことが分かった。
Eclipseでデバッグするときは、実行のダイアログのVM引数に上のを書いておけばいい。なんか「変数」とかいうボタンでsystem_property:file.encodingとかを指定できるがうまくいかなかった。なんなんだろう、あれは。

以上

コスミー について

昔(?)はゲーム作ってました。 今もなんか作ろうとしています。
カテゴリー: Java パーマリンク

コメントを残す

メールアドレスが公開されることはありません。