powershell运行java程序乱码问题
概述
记录一个问题,暂时没找到原因。
java程序在idea的终端中运行输出中文乱码,切换终端活动页(字符集)或者指定程序字符集均不管用,但是普通的cmd和powershell中是正常的。
有没有懂的朋友给解释下
问题现象
powershell
| 活动页编码 | 指定file.encoding=UTF-8 | 是否乱码 |
|---|---|---|
| 65001 | 是 | 是 |
| 否 | 否 | |
| 936 | 是 | 否 |
| 否 | 否 |
cmd
| 活动页编码 | 指定file.encoding=UTF-8 | 是否乱码 |
|---|---|---|
| 65001 | 是 | 否 |
| 否 | 是 | |
| 936 | 是 | 否 |
| 否 | 否 |
demo代码
public class CsTest {
public static void main(String[] args) {
System.out.println(System.getProperty("file.encoding"));
System.out.println(java.nio.charset.Charset.defaultCharset());
System.out.println("你好啊");
}
}
powershell运行
idea powershell终端和直接打开powershell终端运行结果一致
chcp 65001(utf-8)
不指定字符集,GBK输出不乱码,指定字符集utf-8反而乱码

chcp 936(GBK)
加不加参数运行都不乱码

cmd运行
chcp 936

chcp 65001

3332

被折叠的 条评论
为什么被折叠?



