VS中文乱码问题

本文介绍了在使用VS2017编写Windows控制台应用程序时遇到的中文乱码问题及其解决方案。当代码文件以UTF-8无BOM格式编码,而控制台以ANSI编码解析时,会出现乱码。通过在VS中添加“高级保存选项”菜单,将编码更改为简体中文(GB2312),并确保换行符设置正确,可以解决此问题。
摘要由CSDN通过智能技术生成


如果是2015 添加命令步骤可直接跳过 ,

最近刚刚换成2017 写控制台程序做功能测试,然后发现居然乱码了。


用VS2017新建windows控制台应用程序,在main函数种加一句printf("你好");后,运行结果依然乱码

用notapad++打开该文件后,点击菜单栏的编码一项,发现是UTF-8无BOM格式编码,然后改成以ANSI格式编码后

也就是说VS是用UTF-8来编码代码文件的,编译出的程序中字符串也是按照UTF-8编码的,而控制台却是按照ANSI编码来理解的。

打个比方,A用0x00代表“是”,B用0x00代表“否”,A发送0x00给B,然后B显示的是“否”。

那么先说解决方案吧,也就是让VS对文件用ANSI编码就行了,在网上搜索了一番后很轻松地找到了解决方案

VS菜单项的工具-->自定义,打开“自定义”对话框,然后选中“命令”选项卡,点击“添加命令”按钮

然后在[文件]种找到[高级保存选项],点确定,可以发现VS菜单栏多了高级保存选项一栏,只要光标在代码文件种,就可以点击该菜单项。

把编码改成简体中文(GB2312),然后重新编译运行,显示就正确了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值