1

私は他の人たちと一緒に大学の宿題のアプリケーションをプログラミングしていますが、コメントやビューに表示される文字列に英語以外の文字を使用することがあります。問題は、使用者全員が異なる OS を使用し、場合によっては異なる IDE を使用してプログラムしていることです。

具体的には、1 人は MacOS、もう 1 人は Windows7、もう 1 人は Ubuntu Linux を使用しています。さらに、それらはすべて Eclipse を使用しており、私は gedit を使用しています。Eclipse または gedit が UTF8 ビジネスで適切に動作するように構成できるかどうかはわかりません。少なくとも、私には何も見つかりませんでした。

実際のところ、私が英語以外の文字で書いたものは、Windows や MacOS の仮想マシンでは奇妙な記号で表示され、その逆もあり、Linux 以外の友人が書いたものは、次のようなコンパイル警告を引き起こすことがありますwarning: unmappable character for encoding UTF8

これを解決するアイデアはありますか?緊急ではありませんが参考になります。

ありがとうございました。

4

4 に答える 4

8

gedit についてはよくわかりませんが、Eclipse を構成して、ソース コードに好きなエンコーディングを使用することはできます。これはプロジェクト プロパティの一部です (プロジェクト内の .settings ディレクトリに保存されます)。

代替テキスト

于 2010-12-18T15:13:38.990 に答える
2

Eclipse は UTF-8 で正常に動作します。設定に関する Michael の回答を参照してください。おそらく、Windows や MacOS では本当に必要です。Ubuntu はデフォルトのエンコーディングとして UTF-8 を使用するため、そこで Eclipse を構成する必要はないと思います。

Geditに関しては、この図は、Geditでファイルを保存するときにエンコーディングを変更できることを示しています。

とにかく、すべてのソースが UTF-8 を使用していることを確認する必要があります。これは、ソースのクロスプラットフォーム移植性を達成するための唯一の合理的な方法です。

于 2010-12-18T15:18:17.920 に答える
1

文字エスケープ シーケンスを使用し、ファイルに ASCII エンコーディングのみを使用することで、文字列の問題を回避できます。

たとえば、エン ダッシュは「\u2013」と表すことができます。

ここで、個々の文字の Java コードをすばやく検索できます。

Sergey が以下に記しているように、これは少数の非 ASCII 文字に最適です。別の方法は、すべての UTF-8 文字列をリソース ファイルに入れることです。Eclipse には、このための便利なウィザードが用意されています。

于 2010-12-18T15:17:07.923 に答える
1

UTF8 ファイルに BOM (バイト オーダー マーク) が含まれている場合、問題が発生します。これは既知のバグです。ここここを参照してください。

BOM は UTF8 ではオプションであり、多くのツール (Javadoc、XML パーサーなど) を壊すため、ほとんどの場合存在しません。

詳細はこちら

于 2010-12-18T16:17:09.953 に答える