• 6009阅读
  • 5回复

[讨论]QFile的写入中文 [复制链接]

上一主题 下一主题
离线乙醚
 

只看楼主 倒序阅读 楼主  发表于: 2014-04-05
请问一下,我的QString str里包含有中文,要吧str 的内容写到QFile myfile里面去,怎样才不会把中文搞成乱码呢?
离线realfan

只看该作者 1楼 发表于: 2014-04-05
    QFile data("c:/test.txt");
    QString str("中文");
    if (data.open(QFile::WriteOnly | QFile::Truncate))
    {
        QTextStream out(&data);
        out.setCodec("UTF-8");
        out << "English " << str;
    }
    data.close();
离线ashe0817

只看该作者 2楼 发表于: 2014-04-05
我觉得你首先用 qDebug() << str 看看是否能显示中文没乱码
你的问题,可能是str在获取数据的时候就已经乱了?
离线乙醚

只看该作者 3楼 发表于: 2014-04-08
回 ashe0817 的帖子
ashe0817:我觉得你首先用 qDebug() << str 看看是否能显示中文没乱码
你的问题,可能是str在获取数据的时候就已经乱了? (2014-04-05 23:02) 

QString str (_myFile.readAll()); 果然是,读进来的时候就乱码了
离线乙醚

只看该作者 4楼 发表于: 2014-04-08
应该就是QFile的readAll()函数 的返回值的问题,用QTextStream就好了
离线wang2222ning

只看该作者 5楼 发表于: 2014-04-23
不过的主要你读取文件和保存文件的格式,最好是UTF-8的。平时有一些ANSI的格式,读取来就是乱码了。
快速回复
限100 字节
 
上一个 下一个