3

サーバーAPIを介して、構造体のメンバーを使用して連絡先情報を取得しています。

char displayName [USERNAME_MAX_SIZE];

それらの名前の1つは、特殊文字を含むヨーロッパの名前です:「PerSpånt」

displayNameの構造は次のとおりです。

ここに画像の説明を入力してください

「fromUtf8」関数を介して「displayName」をQStringにインポートすると、次のQStringが取得されます。 ここに画像の説明を入力してください

特殊文字を2つの奇妙な文字に変換せずに、正しい文字列をQStringに取り込むにはどうすればよいですか?

4

1 に答える 1

3

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;
}
于 2012-04-03T19:57:50.047 に答える