月曜日, 3月 29, 2010

Tokyo Railways 2の新アイコン

 「Tokyo Railways 2」の開発版公開に向けて準備の真っ最中です。
 公開用パッケージを作ろうと思い、アイコンを作ったのですが、それが上の画像です。

 それで、Windows 7をサーバーにして、クライアントとして、インターネット経由でMac OS X、LAN経由でUbuntuを接続してみたら問題発生。Mac OS X環境は普通に表示されるのですが、Ubuntuは文字化けして表示されます。
 Eclipseでテスト実行している時には起きなかったのに、パッケージを作って動かすと文字化けするというのは、ついこの前にリプレイ機能のテストでも起きてたので、すぐに原因がひらめきました。これは通信データを出力する時に文字コードを指定していないからです。なんで、WindowsとMac OS Xがちゃんと表示さるのかというと、両方共デフォルト文字コードがシフトJISだからです。でもUbuntuはUTF-8、テスト実行している時の開発環境はOSに関係なくUTF-8がデフォルト文字コードだからこの問題は起きてなかったんですよ。

 String.getBytes()とInputStreamReader()の引数でちゃんと文字のエンコードを指定するなんていうのは、Javaプログラムの基本中の基本ですよねえ。自分ではベテランだと思っていたけど、まだまだ修行が足りないようです。
 幸い、現象を見た瞬間に原因がわかってしまったので、あっという間に修正が完了し、再度パッケージを作り直したらちゃんと直ってました。
 やれやれです。これで残る作業はマニュアルの更新のみ。今頑張ってますんで、もうちょっとお待ちください。

0 件のコメント: