C/C++教程

解决QT编码导致的乱码问题Error:Could not decode “xxx.cpp“ with“UTF-8/System

本文主要是介绍解决QT编码导致的乱码问题Error:Could not decode “xxx.cpp“ with“UTF-8/System,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、解决错误提示
如果我们采用的是utf-8的编码,而从网络上下载的代码又是一个中文系统环境GBK下编写的代码,那恭喜你,你一定遇到这样的错误提示:
Error:Could not decode “xxx.cpp” with"UTF-8/System
即使你点击了selectencode,重新加载了。或者通过项目的选项修改了该项目的编码,使你能够成功运行项目。
在这里插入图片描述
但,你还是会遭遇到乱码的问题,导致那些中文的内容在运行是全是乱码!

那么,彻底解决它的方法只有一个,那就是把编码统一转化为UTF-8.怎么转呢?
通过Notepad++(现在的版本8.14)完全免费的,非常好用。
把我们需要转化的代码文件cpp和h文件,都在这个软件中打开
在这里插入图片描述
在编码菜单中找到并点击“转为utf-8”或者utf-8-bom,一般选第一个。
当我们看到右下角的编码为utf-8时,已经转化成功。
最后不要忘记了点击保存。
保存完成后,再通过QT打开,那么就不会出现这个的错误提示了。

二、关于编码的设置
1、仅仅对一个项目有效的编码设置
在project栏中找到editor,在editor setting中设置为custom,在文件编码file encodings中将默认default encoding设置为与你的代码文件匹配的编码即可。
在这里插入图片描述
2、编码的全局设置
在主菜单的tool下的option选项中,选择TextEditor文本编辑器,找到Behavior行为下的文件编码File Encodings将默认的值修改为与你的编码文件对应的编码方式即可。
在这里插入图片描述
再次提醒,无论通过全局还是单个项目的编码方式设置,都无法改变项目运行中的中文乱码现象,只能保证这个程序可以运行和编辑而已。真正要保证运行时中文不乱码,还是要通过转码工具将代码文件的编码方式转码才能够彻底完成。
推荐的工具
1、Notepad++
2、Encodersoft
3、editplus
4、SublimeText
这些都是可以在网络上搜索到的,不过第一个可以确保是免费的。

这篇关于解决QT编码导致的乱码问题Error:Could not decode “xxx.cpp“ with“UTF-8/System的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!