0

で開発したアプリがありJavaます。でテストするとEclipse、完全に動作します。すべての文字は完璧ですが、jar をコンパイルしてエクスポートし、OS X ターミナルでテストすると、奇妙な文字(スペイン語です)が間違っています。それらは「?」です。

私はUTF-8どこでも使っていると思うので、何をすべきかわかりません。

ありがとう

4

2 に答える 2

2

ほとんどの場合、どこでも UTF-8 を使用しているわけではありませんが、プラットフォームのエンコーディングにデフォルト設定されているコードがいくつかあります (これは環境変数によって設定でき、ワークスペース ファイルのエンコーディングと一致するように設定されている Eclipse とは異なる可能性があります)。あなたのシェル)。

コード内のすべての文字変換 ​​(リーダーを開くなど) で、文字セットとして明示的に「UTF-8」を使用していることを確認してください。

たとえば、使用しないでください

Reader r = new FileReader("a.txt");

使用する

Reader r = new InputStreamReader(new FileInputStream("a.txt"), "UTF-8");

それが不可能な場合、短期的な解決策は、適切な環境変数またはシステム プロパティを設定することです (私はそう思います-Dfile.encoding=UTF-8)。

于 2012-06-19T10:17:37.007 に答える
1

locale端末でコマンドを使用してロケールを確認します。印刷される文字列には.UTF-8.utf8または同様の接尾辞が含まれている必要があります。そうでない場合は、UTF-8 以外のロケールを使用しているため、アプリの出力が正しく表示されません。どのロケールが利用可能になるかはわかりませんがexport LC_ALL=es_ES.UTF-8、アプリを実行する前に実行してみて、それが役立つかどうかを確認してください。

于 2012-06-19T10:16:46.227 に答える