一、第一个方法
第一个方法适用于还没有开始创建程序时。
将Qt Creator文本编辑器的文件编码改成System,创建新项目后默认的文件编码就是GBK格式的了,控制台输出也就不会乱码
二、第二个方法
第二个方式适用于,已经创建了一个UTF-8的项目,然后将项目的编码改成与控制台的编码一致。
2.1 第一步
将第一个的操作步骤操作一下,将Qt Creator文本编辑器的文件编码改成System。
2.2 第二步
这一步设置完成后,项目中的cpp或h文件中,中文都会变成乱码。
2.3 第三步
将 Display file encoding 复选框勾上
路径:工具 --> 选项 --> 文本编辑器 -->显示 --> Display file encoding
勾上之后,会在编辑项目文件的右上角,会多出一个东西。
双击 UTF-8 弹出一个对话框,先以UTF-8载入,再以GBK保存,乱码就会变回中文了。
三、第三个方法(不建议使用)
第三个方法出现了一个很大的问题:下方代码示例
string str;
cin >> str; //str //你好 //a你b
cout << str; //str //空白空白 //a b
当cin中输入了中文字符,中文字符会替换成空白字符输出,不知道是怎么一回事。
对了,使用 system(“chcp 65001”); 代码改变控制台成为utf-8也是不行的。
第三个方法适用于未创建程序之前,并就是想用UTF-8编码。
第三个方法是将控制台的 “当前代码页” 的默认值改为UTF-8。即将控制台直接改成UTF-8编码。
通过修改注册表对控制台的编码进行修改。
Win + R 打开 “运行” ,输入 regedit 打开注册表
注册表位置:HEEY_CURRENT_USER\Console\F:_QTsrc_Tools_QtCreator_bin_qtcreator_process_stub.exe
每个人Qt安装的位置不一样,注册表路径也不太一样。修改 CodePage 的十进制的值为 65001 保存即可。
还有一件事:Qt版本比较高的可能没有这个注册表路径,我搜索也没找到。
然后创建项目happy去了,而且是永久式的。
四、参考/搬运
第一、二种方法参考:百度经验
第三种方法搬运:IT610 的 Dev-L 的 文章