System.out.println(sb);
问题是上面的线。这将使用默认系统编码对字符数据进行编码,并将数据发送到STDOUT。在许多系统上,这是一个有损过程。
如果更改默认值,
System.out则控制台使用的编码和控制台使用的编码必须匹配。
更改默认系统编码的唯一受支持机制是通过操作系统。
_(有些人建议使用
file.encodingsystem属性,但不建议这样做,并且可能会有意想不到的副作用。)_您可以将setOut用作自己的自定义
PrintStream:
PrintStream stdout = new PrintStream(System.out, autoFlush, encoding);
您可以通过Run配置更改Eclipse控制台编码。
通过我的个人资料,您可以在我的博客上找到许多有关该主题的文章。



