记录一次使用vscode中文乱码的经历

首先感谢大佬的博客https://blog.csdn.net/joyfixing/article/details/79971667###,将编码方式讲解得很生动。

我想用python做翻译任务,但是遇到了中文乱码问题:

    s = '你好'
    print(sys.getdefaultencoding())
    print(s)

运行结果为:

utf-8
浣犲ソ

原来是文件默认存储为utf-8格式,但是打印出结果为gbk格式,所以6个字节转换成3个乱码字符(2字节)

但是在cmd中运行相同的代码,可以正确显示中文:

看了他的博客https://blog.csdn.net/martinkeith/article/details/91970755 我才发现是vscode终端的编码方式和文件存储方式不一致

于是按照他的步骤修改了setting.json:

{
    "terminal.integrated.shellArgs.windows": ["/K chcp 65001 >nul"]
}

但是没卵用。。。查看评论发现,直接在终端执行命令:

chcp 65001

可以正常显示:

utf-8
你好

原来该配置只对powershell起作用,在我执行python的终端是python debug console,需要手动执行该命令。

在python debug console中输入命令以查看编码方式:

chcp

结果返回为936,为GBK编码,原来如此,“你好“的utf-8格式为6个字节,将解码成3个字符(GBK编码为2字节/字符)

那只好每次启动都敲一次喽:

chcp 65001
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值