繁体   English   中英

Windows上的java println输出编码

[英]java println output encoding on windows

这个问题源于我在这里问的一个问题。 有人建议这可能是Java问题,所以我发布了另一个问题。

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

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

它使用默认编码 ,在Windows上将是过时的“ ANSI”编码。 记录下来的更改方法是“通过操作系统”,尽管目前为止。 您还可以调用System.setOut提供自己的机制:

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

有关更多信息,请参见此处

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM