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 环境默认编码的一些信息:

  1. Qt MinGW 环境:

    • 在使用 MinGW 编译器的 Qt 环境中,默认的字符集编码通常是 UTF-8。这意味着 Qt 应用程序在 MinGW 环境中处理字符串和文本数据时会使用 UTF-8 编码。
    • 在 Qt 的项目文件(例如 .pro 文件)中,可以通过设置 CONFIG += utf8 来明确指定项目使用 UTF-8 编码。
  2. 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 中,可以通过以下步骤来查看和更改项目的字符集编码设置:

  1. 打开 Visual Studio,并打开您的项目。
  2. 在“解决方案资源管理器”中,右键单击项目名称,然后选择“属性”。
  3. 在项目属性窗口中,选择“配置属性” > “常规”。
  4. 在右侧面板中,可以看到“字符集”选项,这里可以设置项目的字符集编码。常见的选项包括“使用多字节字符集”(Multi-Byte Character Set)和“使用 Unicode 字符集”(Use Unicode Character Set)。

通过更改项目的字符集编码设置,您可以控制项目在 Visual Studio 中默认使用的字符集编码。一般来说,推荐使用 Unicode 字符集(UTF-16 编码)来处理字符串和文本数据,以确保更好地支持国际化和多语言环境。

posted @ 2022-09-20 12:24  SusieSnail_SUN  阅读(827)  评论(0编辑  收藏  举报