Vscode控制台乱码的最终解决方案
Posted 程序员兔哥
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Vscode控制台乱码的最终解决方案相关的知识,希望对你有一定的参考价值。
Vscode控制台乱码的最终解决方案
vscode运行项目时控制台打印日志乱码。网上也有许多解决办法。
方法一【管用】
Java项目时,像Springboot微服务项目默认使用的是logback日志,编码黑夜是UTF-8个性成gbk
因为vscode调用的是windows的cmd,所以要设置成gbk编码,修改logback.xml或logback-spring.xml
<!-- 控制台输出 -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<Pattern>$console_log_pattern</Pattern>
<charset>gbk</charset> <!-- 此处设置字符集 如果windows控制下乱码请更改为GBK-->
</encoder>
<!--此日志appender是为开发使用,只配置最底级别,控制台输出的日志级别是大于或等于此级别的日志信息 -->
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>debug</level>
</filter>
</appender>
方法二
VSCode终端其实调用的是cmd.exe,所以当这里出现中文乱码的时候要解决的是cmd的编码设置问题。
- 可以通过 chcp 命令查看 cmd 的编码设置,GBK2312 的代码页编号是 936,然后改成utf-8的编码即可;
- utf-8 对应的代码页编号是 65001 ,所以执行 chcp 65001 就可以把cmd的编码设置成uft-8了;
- 这样就解决了乱码问题,然后可以再次运行代码查看输出 ;
方法三
在node.js的调试过称中,经常需要在终端中使用console.log()输入一些变量,然而windows的cmd默认是GBK编码,在调试的过程中会出现乱码。
幸好VScode提供的对内置控制台的运行参数设定,我们可以通过 terminal.integrated.shellArgs.windows
选项对内置控制台的运行进行参数设定。
通过打开“文件”--“首选项”--“用户设置”,然后在setting.json中设置:
"editor.fontSize": 18,
"terminal.integrated.shellArgs.windows": ["/K chcp 65001 >nul"],
"terminal.integrated.fontFamily": "Lucida Console",
/K chcp 65001 >nul
的含义是在运行cmd的时候将编码设置为 65001;
>nul
是避免在控制台输出修改编码的信息,否则会输出 active code page: 65001
;
同时,把字体修改为 Lucida Console
。
解决Ubuntu下vscode中zsh乱码的问题
参考技术A 最近新装了 Ubuntu 18.04 LTS,然后装了 zsh 以及主题 agnoster ,然后一顿操作解决了终端中的乱码问题,其实就是字体问题。解决方法见 这里 。
但是,在 vscode 红把终端设置为 zsh 之后发现依然是乱码,也就是还是字体问题。如图
以上是关于Vscode控制台乱码的最终解决方案的主要内容,如果未能解决你的问题,请参考以下文章