首页 > 编程知识 正文

vscode运行java出现乱码,如何解决vscode终端乱码

时间:2023-05-04 04:47:48 阅读:230122 作者:2072

java运行时终端输出乱码

备忘录

说明
前一阵子,使用vscode运行简单的java程序。因为比idea打开快捷方便点,写写小程序还是满舒服的。但是后来使用时发现会出现这种情况:”输入中文后,输出中文会乱码或者不显示”。这一看就是老问题了,编码问题。

解决办法
从几个角度来进行寻找解决办法:windows系统编码vscode的文件编码java运行时编码相关的参数设置

windows系统编码:
中国地区默认GBK,我看见网上许多人说改为utf-8即可。我改了,没起作用,估计是我操作有问题。

vscode的文件编码
vscode的文件file.encoding默认是utf-8。这是新建文件后默认的初始编码。
(我试过无论文件编码是在UTF-8下还是GBK下,只要当前中文显示无乱码,在输出控制台后都没有乱码。比如System.out.println(“来啊”))
暂时保持文件编码不变为utf-8。如果出现乱码就进行一下将其编码也改为GBK,与系统编码保持一致。
(vscode设置当前文件的编码很简便,底部栏切换即可)

java运行时编码相关的参数设置
在vscode里安装那几个插件后,一般运行java文件方式是run without debugging。我观察到在运行时,默认的编码是utf-8。

但是考虑到vscode运行调用的是windows的cmd或者powershell终端,但是其运行终端编码使用chcp命令查询又是默认的UTF-8。知道中文的windows系统编码默认GBK的情况下,可以不用理会其终端为什么默认UTF-8,尝试将运行时的编码设置为GBK。
打开Run下的Open Configurations

添加编码参数 “encoding”: "GBK"
再运行就发现乱码消失了

总结
其他方法试了一些,只是没成功。这个解决方法的思路就是将运行时的编码参数设置成与windwos编码一样都是GBK,来实现中文输出的乱码问题,如果还是乱码再vscode的文件编码设置成GBK。至于为什么不把所有编码都设置为UTF-8,你懂的。
建议还是idea,不必为这些问题烦心。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。