qt - 如何将 UTF-8 数据放入 QString

标签 qt utf-8

通过服务器 API,我使用结构成员获取联系信息:

字符显示名称[USERNAME_MAX_SIZE];

其中一个名字是带有特殊字符的欧洲名字:“Per Spånt”

displayName的结构如下:

enter image description here

当我通过“fromUtf8”函数将“displayName”导入 QString 时,我得到以下 QString: enter image description here

如何在不将特殊字符转换为两个奇怪字符的情况下将正确的字符串放入我的 QString 中?

最佳答案

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;
}

关于qt - 如何将 UTF-8 数据放入 QString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10000194/

相关文章:

qt - QT:资源QSS文件中的setStyleSheet?

qt - 如何使用 openssl 在 Qt 中生成 key ?

java - 如果我从文件中读取,如何将 ASCII(Unicode Escaped)中的字符串转换为 Unicode(UTF-8)?

java - 控制台中的文本 utf-8 在 eclipse 中工作,但无法使用导出的 jar

c++ - 为什么 QVariant::type() 在应该被解释为 QMetaType::Type 时返回 QVariant::Type?

c++ - 当 gui 程序向 cli 程序发送命令时隐藏控制台窗口?

php - SET NAMES 命令失败,访问被拒绝

Hibernate/JPA import.sql utf8 字符损坏

mysql - mysql 字符集和 GWT 的问题

c++ - QT线型组合框