windows 控制台程序输出中文乱码
Windows控制台程序乱码
举例 这里会看到中文乱码显示 原因在于控制台窗口默认编码格式是ANSI GBK,如果文本是UTF8编码的,输出就会变成乱码 可以点击控制台属性,切换到选项页,查看控制台编码格式
解决这个问题,可以在当前控制台输入命令 chcp 65001 这个命令可以会把控制台编码切换到UTF8(65001)
这种方式虽然可以解决当前问题,但是重启控制台之后编码又变回原来的ANSI GBK。
为了彻底解决这个问题,可以修改注册表项 HKEY_LOCAL_MACHINESOFTWAREMicrosoftCommand Processor 在该项下新建一个字符串值 key为Autorun 值为 chcp 65001 然后重启控制台,可以查看当前代码页已变成UTF-8
Visual Studio 控制台程序输出中文乱码
同样的道理,VS控制台同样是以ANSI格式编码,如果想要控制台正常输出UTF-8格式的中文,可以在main方法加入一行代码 int main(int argc, char** argv) { SetConsoleOutputCP(65001);//set output encoding to UTF8 //system(“chcp 65001”); works too //SetConsoleCP(65001) does not work … }
更改VS代码文件的编码格式
Visual Studio中的代码文件默认是以ANSI格式编码,如果想要修改,可以参照如下步骤 工具->自定义->命令选项,点击"添加命令"按钮,在"添加命令"窗口,选择“文件”类别,在命令列表中,选择高级保存选项 vs菜单中会出现高级保存选项
可以单击打开某个文件,然后点击这个菜单项去修改该文件的编码格式。