【发布时间】:2016-11-30 03:47:36
【问题描述】:
我需要在运行 openSuse 11 i586 的旧机器上安装一个使用 Qt 的库。实际上,我的构建机器运行 Ubuntu,我们有自己的 Qt 编译 - 为了使用静态功能。显然,两台机器(构建和目标)都有兼容的系统。
一切正常,除了 QString。在目标机器上 QString 打印出奇怪的字符。
QTextStream out(stdout);
QString text = "ABCDEFGHJKLNOPQRSTUWXYZ \n";
out << text;
例如,上面的代码在目标机器上会产生这样的结果:
ABCDEFGHEFGHSTUWXYZ
有什么技巧可以解决这个问题吗?也许与字符集有关。感谢您的帮助。
【问题讨论】:
-
可能是文件编码问题。尝试将您的字符串文字包装在 QStringLiteral macro
-
std::cout << text.toStdString()显示了什么? -
@jpo38 显示相同的输出(ABCDEFGHEFGHSTUWXYZ)。警告 QT_MESSAESAWARNING:ING: now 在 toStdString() 之后打印
-
@MrEricSirQStringLiteral 没有解决。同样的输出。