gpt4 book ai didi

c++ - qDebug() (UTF - 8) 的错误输出

转载 作者:太空狗 更新时间:2023-10-29 21:01:13 27 4
gpt4 key购买 nike

我正在尝试存储一个带有特殊字符的字符串::

qDebug() << "ÑABCgÓ";

输出:(这里我什至无法输入正确的输出,有些垃圾在 Ã 和 Ã 之后丢失了) �ABCg�

我怀疑是 UTF-8/Latin1/ASCII,但找不到输出到控制台/文件的设置。我在我的代码中写了什么:“ÑABCgÓ”。

(Qt:4.8.5/Ubuntu 12.04/C++98)

最佳答案

您可以使用 QString QString::fromUtf8(const char * str, int size = -1) [static]正如下面的示例代码所示。这是 QString 存在的主要原因之一。

有关详细信息,请参阅文档:

http://qt-project.org/doc/qt-5.1/qtcore/qstring.html#fromUtf8

main.cpp

#include <QString>
#include <QDebug>

int main()
{
qDebug() << QString::fromUtf8("ÑABCgÓ");
return 0;
}

构建(根据您的场景定制)

g++ -fPIC -I/usr/include/qt -I/usr/include/qt/QtCore -lQt5Core main1000.cpp && ./a.out

输出

"ÑABCgÓ"

也就是说,根据您的语言环境,只需 qDebug() << "ÑABCgÓ";可以像这里一样工作,但建议通过明确询问 UTF-8 处理来确保。

关于c++ - qDebug() (UTF - 8) 的错误输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19183895/

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