1

ファイル(HTML)のコンテンツには、「-」などの特殊文字が「???」に置き換えられています Linux マシンでは、Windows で同じコードを実行しても、置き換えられません。

        PrintWriter out = new PrintWriter(file);
        for (String l : lines)
            out.println(l);
        out.close();

Unicode UTF-16、UTF-8、および iso-8859-1 を追加しようとしましたが機能しません

PrintWriter out = new PrintWriter(file, "UTF-16");

Windows マシンでは、「-」などの特殊文字が「-」に置き換えられます

前もって感謝します

4

2 に答える 2

2

いくつかのダッシュ記号 "–" と "-" があります。見た目は似ていますが、Unicode 値が異なります。ソースコードでは後者を使用してください。

その他のダッシュはこちら: http://en.wikipedia.org/wiki/Dash . 記号は "en dash"U+2013です。"the standard ASCII hyphen" を使用する必要がありますU+002D

于 2013-10-01T11:52:19.757 に答える
0

ファイルの同じエンコーディングとしてファイルに書き込むことで解決しました

     InputStreamReader r = new InputStreamReader(new FileInputStream(file));

        // now, write the file again with the changes
        PrintWriter out = new PrintWriter(file, r.getEncoding());
        for (String l : lines)
            out.println(l);
        out.close();
于 2013-10-01T12:46:02.470 に答える