为什么QStringLiteral返回一个乱码字符串
Why does QStringLiteral returns a garbled string
我正在编写一个中文软件,并将一些字符串嵌入到源文件中。为了减少运行时开销(好吧,实际上这是过早的优化,因为速度差异可以忽略不计,但尽管如此,我还是很好奇),当我将QStringLiteral
与等中文字符一起使用时
QString s = QStringLiteral("中文");
字符串在屏幕上显示时出现乱码;但是如果我只是使用
QString s = "中文";
它运行良好。但是后者在运行时而不是编译时构造字符串,所以它有点慢。有人能告诉我怎么解决这个问题吗?
我的源文件编码是UTF8,没有BOM;编译器是带有SP1的MSVC 2010 Express。我也试过
#pragma execution_character_set("utf-8")
但无济于事。
好吧,我自己解决了。我需要用字节顺序标记保存文件,然后MSVC正确地识别出它是用UTF-8编码的,一切都很好。
更新:在更新的MSVC上,我们可以设置编译器选项/utf-8
,而不必麻烦BOM。
相关文章:
- 在CRC-16 CCITT中将数据从二进制解码为文本,我应该输入一个码字,使用CRC生成器进行编码
- 我正在尝试一个傻瓜 C++ 练习,我遇到了一个错误,说类 'GraduateStudent' 没有任何名为 'advisor' 的字段
- 如何创建一个函数来提取向量内部字符串中的字段?
- 如何正确实例化静态字段 tat 是另一个类对象
- 一个非常简单的win32套接字代码,但工作错误
- 为什么最后一个推回向量的对象的字段会转移到向量的其他对象?
- 在线程C++中创建一个套接字
- C++11,仅将一个字段复制到向量中
- 想要查找二进制码字中出现的 1 或 0 的位置
- 在抽象类中,可以使用抽象类A的类型创建一个静态字段
- 使用访问另一个类字段的比较器priority_queue类字段
- 我不能在不使用指针的情况下返回 2d 数组!我正在制作一个井字游戏类型游戏,这是我的向上移动功能
- 确定一个码块需要多少个时钟周期
- 创建一个井字游戏.我想创建一个 3x3 向量来存储行和列的值,然后在函数中打印出电路板
- 如何检测 LZW 解码的码字长度
- 制作了一个井字控制台应用程序,我有多个无法解决的错误
- 如何输出一个井字游戏表
- 将两个正则表达式结果连接到一个输出字段中,一次只能使用一个
- 定向码字的矢量量化
- 在c++中创建一个井字游戏的图形界面