通过服务器API,我正在使用结构成员获取联系信息:
char displayName [USERNAME_MAX_SIZE];
其中一个名字是带有特殊字符的欧洲名称:“PerSpånt”
displayName的结构如下:
当我通过“fromUtf8”函数将'displayName'导入QString时,我得到以下QString:
如何在不将特殊字符转换为两个奇怪字符的情况下将正确的字符串输入到我的QString中?
答案 0 :(得分:2)
FWIW,使用Qt 4.7.4,这对我有用并且不起作用。
#include <iostream>
#include <string>
#include <QDebug>
#include <QString>
int main()
{
char name[7] = "Sp__nt";
name[2]=-61;
name[3]=-91;
std::cout << name << std::endl; // works
qDebug() << QString::fromUtf8( name ); // does not work
qDebug() << QString::fromAscii( name ); // works
qDebug() << QString::fromLatin1( name ); // works
qDebug() << QString::fromStdString( name ); // works
return 0;
}