这个问题源自我提出的问题here。有人建议这可能是一个Java问题,所以我发布了另一个问题。
什么决定了system.out.println命令的输出编码?基本上,我从命令提示符执行一个python程序,它生成一个运行java的子进程(stanford解析器)它以UTF-8编码我的输入文档,以特定格式处理和打印我的输入。回到python程序,我无法使用utf-8解码stdout的输出。这适用于OSX,因此我怀疑它可能是控制台编码问题。
我已尝试设置chcp 65001
并更改字体类型,但这些不起作用。
答案 0 :(得分:3)
它使用Windows上的default encoding将是过时的“ANSI”编码。记录的改变方法是“通过操作系统”,尽管这是最直接的。您也可以致电System.setOut以提供自己的机制:
System.setOut(new PrintStream(System.out, true, "UTF-8"));
有关更深入的信息,请参阅here。