已解决
为什么qt设置了utf-8 bom 格式后还是有乱码
来自网友在路上 145845提问 提问时间:2023-09-19 03:08:38阅读次数: 45
最佳答案 问答题库458位专家为你答疑解惑
有乱码
void SingleApplication::_showInstanceRunningDialog()
{// 创建一个提示窗口QMessageBox msgBox;msgBox.setIcon(QMessageBox::Information);msgBox.setWindowTitle("应用已运行");msgBox.setText("应用程序已经在运行中。");msgBox.setStandardButtons(QMessageBox::Ok);msgBox.exec();
}
#if _MSC_VER >= 1600
#pragma execution_character_set("utf-8")
#endif
头文件上加上述后就可以没乱码了
后面发现原来是我的pro中禁用
DEFINES -= _UNICODE,所以头文件上要加上述代码
您在 Qt 项目的 .pro
文件中使用 DEFINES -= _UNICODE
,这将禁用 Unicode 支持。这可能导致在处理非ASCII字符时出现乱码问题。
为了正确处理非ASCII字符并防止乱码,建议将 DEFINES
行修改为以下内容:
DEFINES += UNICODE
或者,如果您希望同时启用 ANSI 和 Unicode 支持,可以使用以下设置:
Copy Code
DEFINES += UNICODE _UNICODE
通过启用 UNICODE
宏定义,Qt 将使用 Unicode API,并正确处理中文字符。
请注意,在修改 .pro
文件后,可能需要重新生成项目来使更改生效。确保代码文件保存时使用了正确的编码(如 UTF-8),并正确处理和显示中文字符
查看全文
99%的人还看了
相似问题
猜你感兴趣
版权申明
本文"为什么qt设置了utf-8 bom 格式后还是有乱码":http://eshow365.cn/6-9062-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!