为什么windows系统cmd窗口中文会乱码?

在windows环境下,我们用cmd打开一些bat脚本时,应该没少出现这种中文乱码的情况吧? 下面我们来看下具体原因和解决办法。

bat脚本内容:

@echo off
    
chcp 936
    
echo "你好.hello"
    
pause

这里有一个chcp 936, 代表当前活动页的代码为GBK, 如果是UTF-8,则对应chcp 65501

常用的代码页编码映射:

如何查看自己系统的代码页编码?

直接在cmd中,执行chcp即可

乱码原因:

文件编码和活动代码页指定编码不一致

通过notepad可以看到,当前这个文件的编码是UTF-8,但我们指定的内容编码是936,即GBK,两者编码不一致,所以就乱码了!

解决办法:

让两者编码保持一致! 我们上面通过chcp查到了,当前的电脑活动代码页编码是936,即GBK,因此只需要修改文件编码为gbk即可(执行此操作,保存后可能原来的中文会变成乱码,因此注意提前备份一个,然后把乱码改成自己的备份的内容

如何修改文件编码

以notepadd为例,操作如下:Endocing->Character sets -> Chinese -> GB2112, 然后保存(注意保存后,需要修正里面的乱码,改为正常的中文,即上面提到的备份内容),后面再重新执行,已经正常了:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值