2011-12-20 8 views
1

this methodを使用して、国のJava enumを作成しています。異なるプラットフォームの国名をエンコードする正しいメカニズム

それがこのエラーで失敗するUNIXサーバー上でビルドするとき、これはしかし、私の窓のdevのボックスに微細コンパイル:

error: unmappable character for encoding UTF8 

これは、Åなどの文字によって引き起こされます。この問題を処理する最良の方法は何ですか?

答えて

1

ソースコードファイルはUTF-8とは異なるエンコーディングを使用していますが、UnixサーバーのJavaコンパイラはデフォルトエンコーディングとしてUTF-8を使用しています。

Javaソースファイルの固定エンコーディング(UTF-8が最適です)を決め、ソースコードがUTF-8でエンコードされていることをJavaコンパイラに伝えます。どのようにするかは、使用しているビルドシステムによって異なります。

+0

誰もが同意しないことは知っていますが、混合オペレーティングシステム/混合IDE環境では、非常に厳密で非常に簡単なガイドラインを置くことがベストな方法でした。 * .java *ソースファイル。これは、カスタムビルドスクリプトによって強制されます。ビルドは、このルールに違反した場合に即座に失敗します。 * .java *ファイルのエンコーディングを記述するメタデータがなく、失敗するツール(IDE、差分ツール、スクリプトなど)が多すぎるため、これを行いました。文字列をエスケープまたは外部化(プロパティ、XMLなど)する必要があります。 – TacticalCoder

関連する問題