1

NetBeans IDE でテキスト ファイル (UTF-8) から読み取ると、英語とロシア語の両方の文字が正しく読み取られますが、distrib をビルドして実行し、同じファイルを読み取ると、ロシア語の文字が認識されません (次の場合に発生すると思います)。英語以外の言語)。

私は何が欠けていますか?

[ https://img607.imageshack.us/img607/1558/javabug.jpgへのデッドリンク]

更新:テキストファイルの読み方(ケースコードの冗長性をすべて除外しました):

bReader = new BufferedReader(new FileReader(fileName));
String tempString;
tempString = bReader.readLine();
if ((tempString.length() >= 1) && (tempString.substring(0, 1).equals(""))) {
    tempString = tempString.substring(1);
}
//^^^ Former excludes UTF-8 Character at the beginning of a file
//it is actually placed in "", but it can't be seen here
while (tempString != null) {
    tempString = bReader.readLine();
}

だからここには本当に素晴らしいものは何もない

以下のコメントでqrtt1卿が提案したことは実際に機能します。

エンコーディング構成を vm に追加してみてください: java -Dfile.encoding=utf-8 your_main_class

このパラメーターを明示的に追加せずにプログラムを変更するにはどうすればよいのでしょうか

4

1 に答える 1

0

エンコーディング設定を vm に追加してみてください:

java -Dfile.encoding=utf-8 your_main_class

通常、Java プログラムにはそれらを起動する小さなスクリプト ( .batWindows では、または *n?x ではシェル スクリプト) があるため、Java にオプションを配置するのに最適な場所です。

于 2012-08-20T13:09:52.403 に答える