VScode运行Java时终端输出乱码
本文最后更新于:2024年11月13日 下午
前言
java
运行时终端输出乱码
备忘录
说明
前一阵子,使用vscode
运行简单的java
程序。因为比idea
打开快捷方便点,写写小程序还是满舒服的。但是后来使用时发现会出现这种情况:”输入中文后,输出中文会乱码或者不显示”。这一看就是老问题了,编码问题。
解决办法
从几个角度来进行寻找解决办法:windows系统编码,vscode的文件编码,java运行时编码相关的参数设置。
1. windows系统编码:
中国地区默认GBK
,我看见网上许多人说改为utf-8即可。我改了,没起作用,估计是我操作有问题。
2. vscode的文件编码
vscode
的文件file.encoding
默认是utf-8
。这是新建文件后默认的初始编码。
(我试过无论文件编码是在UTF-8下还是GBK下,只要当前中文显示无乱码,在输出控制台后都没有乱码。比如System.out.println(“来啊”)
)
暂时保持文件编码不变为utf-8
。如果出现乱码就进行一下将其编码也改为GBK
,与系统编码保持一致。vscode
设置当前文件的编码很简便,底部栏切换即可)
3 java运行时编码相关的参数设置
在vscode里安装那几个插件后,一般运行java
文件方式是run without debugging
。我观察到在运行时,默认的编码是utf-8
。
但是考虑到vscode运行调用的是windows的cmd
或者powershell
终端,但是其运行终端编码使用chcp
命令查询又是默认的UTF-8。知道中文的windows系统编码默认GBK
的情况下,可以不用理会其终端为什么默认UTF-8
,尝试将运行时的编码设置为GBK。
4. 打开Run
下的Open Configurations
5. 添加编码参数 “encoding”: "GBK"
再运行就发现乱码消失了
总结
其他方法试了一些,只是没成功。这个解决方法的思路就是将运行时的编码参数设置成与windwos
编码一样都是GBK,来实现中文输出的乱码问题,如果还是乱码再vscode
的文件编码设置成GBK
。至于为什么不把所有编码都设置为UTF-8
,你懂的。
建议还是idea
,不必为这些问题烦心。
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!