VsCode 终端中文乱码解决办法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VsCode 终端中文乱码解决办法相关的知识,希望对你有一定的参考价值。

参考技术A 不能正确输出你想要的文字时,一是可能你写错了,二是计算机不认识。所以如果能保证自己没写错,那就是计算机不认识你写的东西了,也就是说编码或者相关语言配置不对了。

既然知道了大概的原因了,那就看一下目前在 VsCode 终端里是使用的什么语言和编码吧,使用 locale 命令 或者 echo 输出一下要查看的环境变量。
我这里用的是 locale 命令查看全部的语言环境设置,发现设置的值是 en_US.UTF-8 ,编码没问题,但是语言却是英语(美国)而不是中文(简体)。
使用 LANG="zh_CN.UTF-8 临时设置一下环境变量, 重新输出一下中文文件名,发现输出正常了。
找到解决办法了,但是这是一种临时生效的方法,怎样才能让它长期生效呢?
VsCode 配置文件里有一个配置项 terminal.integrated.env.* 可以添加环境变量到 VsCode 进程中, 因为我是 linux 系统,所以在配置文件 setting.json 中使用 terminal.integrated.env.linux 来配置:

配置后保存,重启 VsCode 终端, 生效。

如果在使用 linux 的时候发现内置终端的中文乱码,也是可以采用这种方法来解决的,修改 .bashrc 文件可以长期修改环境变量。

原文链接

VSCode集成Cmder控制台输入中文乱码

VSCode集成Cmder控制台输入中文乱码

写在前面

  • 环境

    • VSCode
    • Cmder
    • Win10
  • 问题

    • 根据方法1配置VSCode后,在终端输入中文会出现下图的乱码,查看 locale charmap 显示的编码不是 UTF-8

  • 参考链接

    • 方法1

      "git.enabled": true,
      "git.path": "D:\\\\cmder\\\\vendor\\\\git-for-windows\\\\cmd\\\\git.exe",
      "terminal.integrated.shell.windows": "D:\\\\cmder\\\\vendor\\\\git-for-windows\\\\bin\\\\bash.exe",
      
    • 方法2

      "terminal.integrated.shell.windows": "cmd.exe",
      "terminal.integrated.env.windows": "CMDER_ROOT": "D:\\\\cmder",
      "terminal.integrated.shellArgs.windows": ["/k", "D:\\\\cmder\\\\vendor\\\\init.bat"],
      

解决方案

  1. 我们看一下两者的配置,就能看出不同了

    • 方法1用的是cmder内置的git和bash,讲道理我查了很久到没有看到怎么设置cmder 的bash.exe中的编码,各种设置都没法实现编码设为 UTF-8,即使用如下配置:

      set LANG=zh_CN.utf8
      set LC_ALL=zh_CN.utf8
      
    • 方法2用的是系统自带的cmd作为shell,然后调用cmder的环境,并初始化cmder,我的理解就是:在cmd中直接输入 cmder

    • 方法1和方法2的界面还是有区别的

  2. 结论:用方法2就好

  3. 我真的是查遍全网没找到解决方案,所以自己研究了半天,才直到两者的差异的,给个赞不过分吧


  • ☁️ 我的CSDN:https://blog.csdn.net/qq_21579045
  • ❄️ 我的博客园:https://www.cnblogs.com/lyjun/
  • ☀️ 我的Github:https://github.com/TinyHandsome
  • 🌈 我的bilibili:https://space.bilibili.com/8182822
  • 🐧 粉丝交流群:1060163543,神秘暗号:为干饭而来

碌碌谋生,谋其所爱。🌊 @李英俊小朋友

以上是关于VsCode 终端中文乱码解决办法的主要内容,如果未能解决你的问题,请参考以下文章

永久解决VSCode终端中文乱码问题

vscode 乱码解决

解决VSCode终端中文乱码

win10下使用vscode调试python输出中文乱码的解决办法

mac vscode zsh git中文乱码解决方案

Visual Studio Code 终端输出文字是乱码怎么回事?