• vscode中文乱码问题及几种常见的解决方案


    问题及原因

    在这里插入图片描述
    问题原因:代码文件的字符编码格式UTF-8,但是terminal的字符编码格式为GBK
    解决思路:统一代码文件和terminal的字符编码格式。

    解决办法

    说明:以下的解决方案是针对上述原因“代码文件的字符编码格式为UTF-8,但是terminal的字符编码格式为GBK”给出的,如果是其他情况需要自己稍作修改。

    方法一

    这个方法是修改代码文件的字符编码格式。
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    然后运行:
    在这里插入图片描述

    方法二:chcp

    这个方法是临时修改terminal的字符编码格式。
    修改格式如下:
    在这里插入图片描述
    其中:65001代表UTF-8936代表GBK
    然后运行:
    在这里插入图片描述

    Tips

    vscode里面,如果想把GBK编码格式的文件转换成UTF-8编码格式的文件,可以在vscode里面安装GBK to UTF8 for vscode插件。
    在这里插入图片描述
    右击需要转换编码格式的文件,然后点击Convert encoding to UTF8即可。
    在这里插入图片描述

    方法三

    在方法二的基础上,我们能否永久修改terminal的字符编码格式呢?答案是肯定的。
    在我电脑上,vscode调用的是我的PowerShell,所以我只需要修改我本地PowerShell的字符编码格式即可。
    Step1:
    以管理员身份运行powershell并执行New-Item $PROFILE -ItemType File -Force
    在这里插入图片描述
    Step2:
    此时你的电脑会多出一个空文件C:\Users\xxx\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1,往里面写入

    $OutputEncoding = [console]::InputEncoding = [console]::OutputEncoding = New-Object System.Text.UTF8Encoding
    
    • 1

    在这里插入图片描述

    Step3:
    执行Set-ExecutionPolicy Unrestricted,输入y即可。
    在这里插入图片描述
    Step4:
    输入chcp,检查以下,我们发现powershell的默认字符编码格式已成功修改为UTF-8
    在这里插入图片描述
    然后运行:
    在这里插入图片描述
    补充:
    如果需要永久修改cmd的字符编码格式为UTF-8,首先win+r
    在这里插入图片描述
    在这里插入图片描述
    输入计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor回车,然后新建一个字符串值。
    在这里插入图片描述
    这样子在每次打开cmd的时候,系统都会默认先执行一句chcp 65001cmd的字符编码格式修改为UTF-8。因为每次都是系统默认帮我们执行,所以我们就认为他是永久修改啦~


    2023.4.2 补充:

    如果是按照上面chcp 65001的方式,那么每次运行终端时都会出现Active code page: 65001这一句话。根据 丛雨16 的补充,chcp 65001 > nul 可以解决这一现象。(实测可以)

    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    LabVIEW编程LabVIEW开发SMP10辐射表例程与相关资料
    实时时钟 RTC
    上证50期权开户条件有哪些呢?开户必看!
    无线充,大功率小家电,智能家居,无人机快速充电等产品供电 LDR6328S芯片TYUPE-C PD诱骗电压 USB-C解决PD电源取电问题
    [附源码]java毕业设计卡通动漫商城系统
    Swift--基本运算符与程序流程控制
    Chrome调试工具和Emmet语法
    如何将本地项目上传到github上
    谈云原生,不得不谈的容器
    LeetCode每日一题(1862. Sum of Floored Pairs)
  • 原文地址:https://blog.csdn.net/im34v/article/details/126697006