Windows上的java println输出编码

时间:2015-03-24 11:26:21

标签: java windows character-encoding

这个问题源自我提出的问题here。有人建议这可能是一个Java问题,所以我发布了另一个问题。

什么决定了system.out.println命令的输出编码?基本上,我从命令提示符执行一个python程序,它生成一个运行java的子进程(stanford解析器)它以UTF-8编码我的输入文档,以特定格式处理和打印我的输入。回到python程序,我无法使用utf-8解码stdout的输出。这适用于OSX,因此我怀疑它可能是控制台编码问题。

我已尝试设置chcp 65001并更改字体类型,但这些不起作用。

1 个答案:

答案 0 :(得分:3)

它使用Windows上的default encoding将是过时的“ANSI”编码。记录的改变方法是“通过操作系统”,尽管这是最直接的。您也可以致电System.setOut以提供自己的机制:

System.setOut(new PrintStream(System.out, true, "UTF-8"));

有关更深入的信息,请参阅here