qt报“Error:Could not decode “xxx“ with“UTF-8“
Qt 里导入vs里创建的一个包含中文注释的头文件,中文注释显示为乱码,并报错“Error:Could not decode “xxx“ with“UTF-8“, editing not possible”
解决办法:
点击文件上部提示信息后面的“选择编码”按钮,选择“GB2312”, 点击“按编码载入”,中文注释显示正常;
点击菜单中的“编码”按钮,选择"select encoding ",选择“UTF-8”,保存。
注意:只执行第一步,是临时性的,关闭后再打开还是会提示同样的错误,只有执行第二步后,以后打开都不会报错。
在 Windows 平台下,通常使用的是 ANSI 编码(如 GBK、GB2312 等)或者 UTF-8 编码。
在 Qt 开发环境中,不同的编译器和平台会有不同的默认编码设置。以下是关于 Qt MinGW 环境和 Qt MSVC 环境默认编码的一些信息:
-
Qt MinGW 环境:
- 在使用 MinGW 编译器的 Qt 环境中,默认的字符集编码通常是 UTF-8。这意味着 Qt 应用程序在 MinGW 环境中处理字符串和文本数据时会使用 UTF-8 编码。
- 在 Qt 的项目文件(例如
.pro
文件)中,可以通过设置CONFIG += utf8
来明确指定项目使用 UTF-8 编码。
-
Qt MSVC 环境:
- 在使用 MSVC(Microsoft Visual C++)编译器的 Qt 环境中,默认的字符集编码通常是 UTF-16(或称为 UCS-2 或 UCS-4)。这是因为 MSVC 编译器在 Windows 平台上通常使用宽字符编码(UTF-16)来处理字符串和文本数据。
- Qt 在 MSVC 环境中会自动适配使用宽字符编码(UTF-16)来处理字符串和文本数据,以与 MSVC 编译器兼容。
Visual Studio 默认使用 Unicode 字符集(UTF-16 编码)来处理字符串和文本数据。
在 Visual Studio 中,可以通过以下步骤来查看和更改项目的字符集编码设置:
- 打开 Visual Studio,并打开您的项目。
- 在“解决方案资源管理器”中,右键单击项目名称,然后选择“属性”。
- 在项目属性窗口中,选择“配置属性” > “常规”。
- 在右侧面板中,可以看到“字符集”选项,这里可以设置项目的字符集编码。常见的选项包括“使用多字节字符集”(Multi-Byte Character Set)和“使用 Unicode 字符集”(Use Unicode Character Set)。
通过更改项目的字符集编码设置,您可以控制项目在 Visual Studio 中默认使用的字符集编码。一般来说,推荐使用 Unicode 字符集(UTF-16 编码)来处理字符串和文本数据,以确保更好地支持国际化和多语言环境。