0

我们必须经常处理特殊字符。遗憾的是,直到现在还没有特别注意编码。您可以猜到,我们最终总是会遇到一种或另一种编码问题。

我们目前正在努力将所有特殊字符更改为 unicode(在属性文件和代码中(我知道这不符合良好的编码习惯,但我们目前无法更改)。

现在我不太确定我们应该如何处理来自具有不同编码的其他系统的输入,我们是否应该将特殊字符转换为 unicode,是否有任何好的 API 或约定来处理这些?

4

1 回答 1

0

如果您知道原始编码,则可以使用

String orig = "Cp1250"
BufferedReader r = new BufferedReader(new InputStreamReader(is, orig));

哪里的字符串 orig 必须反映这个。然后你可以在代码中做任何你想做的事情,因为 Java 在内部以 UTF8 存储它。如果您想以不同的编码再次保留它,您将使用OutputStreamWriter具有明确指定编码的对偶。

于 2012-10-30T10:07:48.173 回答