で開発したアプリがありJava
ます。でテストするとEclipse
、完全に動作します。すべての文字は完璧ですが、jar をコンパイルしてエクスポートし、OS X ターミナルでテストすると、奇妙な文字(スペイン語です)が間違っています。それらは「?」です。
私はUTF-8
どこでも使っていると思うので、何をすべきかわかりません。
ありがとう
ほとんどの場合、どこでも 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
)。
locale
端末でコマンドを使用してロケールを確認します。印刷される文字列には.UTF-8
、.utf8
または同様の接尾辞が含まれている必要があります。そうでない場合は、UTF-8 以外のロケールを使用しているため、アプリの出力が正しく表示されません。どのロケールが利用可能になるかはわかりませんがexport LC_ALL=es_ES.UTF-8
、アプリを実行する前に実行してみて、それが役立つかどうかを確認してください。