gpt4 book ai didi

C++:Qt 5.3 无法显示 UTF-8 字符

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:23:05 24 4
gpt4 key购买 nike

我正在尝试在 Visual Studio 2013 中使用 Qt 和 C++ 在按钮上显示一个 unicode 字符(欧元符号)。我尝试了以下代码:

_rotateLeftButton->setText("\u20AC");

_rotateLeftButton->setText("€");

_rotateLeftButton->setText(QString::fromUtf8("\u20AC"));

_rotateLeftButton->setText(QString::fromUtf8("€"));

但是,所有这些行都会导致以下结果:

Character can not be displayed

除了 moc 文件 (.cxx),我的所有代码文件都是 UTF-8 编码的。无论出于何种原因,moc 可执行文件都不会使用 unicode 生成它们。但是我无法正确显示此 unicode 符号。我还尝试设置另一种字体而不是默认字体但没有成功。有谁知道可能是什么问题?

感谢您的帮助。

最佳答案

QString::fromUtf8("€")

如果文件确实以 UTF-8 格式处理,则将起作用。作为@n.m。评论说,VS 需要来自人造 BOM 的一些帮助来确保这一点。

QString::fromUtf8("\u20AC")

\u 在字节字符串文字中没有意义。对于 UTF-8 编码版本,您可以使用 \x 字节转义来拼写它:

QString::fromUtf8("\xE2\x82\xAC")

或者使用宽字符串文字:

QString::fromWCharArray(L"\u20AC")

关于C++:Qt 5.3 无法显示 UTF-8 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27753556/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com