以前は、次のようなコードがありました。
Writer writer = new OutputStreamWriter(System.out, "UTF-8");
generator.stream(writer);
今、私のコードは次のようになります。
string = new StringBuilder();
OutputStream output = new OutputStream()
{
public String getString()
{
return string.toString();
}
@Override
public void write(int b) throws IOException {
if ((char)b != '\n')
{
string.append((char) b );
}
}
public String toString(){
return string.toString();
}
};
Writer writer = new OutputStreamWriter(output, "UTF-8");
generator.stream(writer);
writer.close();
PrintStream ps = new PrintStream(System.out, true, "UTF-8");
ps.println(string.toString());
最初のコードの問題は、出力が 1 行になることを保証していないことでした。一方で、私の新しいコードはこの問題を解決しますが、新しい問題が発生しました。ハンガリー語とポーランド語の文字をサポートする必要があるため、'Á' の代わりに 'ᅢチ' が出力されます。ハンガリー語、ポーランド語以外の文字の場合、現在の出力は正しいですが、ハンガリー語とポーランド語で書かれた特殊文字は新しいコードでは処理されません。どうすればこの問題を克服できますか?
ありがとう。