c++ - 如何使用 Qt 从文件中读取 UTF-8 文本?

标签 c++ qt utf-8 filestream

我在从文件中读取 UTF-8 编码文本时遇到了一些问题。我的版本只能读取 ASCII 字符。

#include <QtCore>

int main()
{
    QFile file("s.txt");

    if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
    {
        return -1;
    }

    QTextStream in(&file);
    while(!in.atEnd())
    {
        QString line = in.readLine();
        qDebug() << line;
    }
}

s.txt:

jąkać się
ślimak
śnieżyca

输出:

"jka si" 
"limak" 
"nieyca"

我应该使用什么?

最佳答案

QTextStream::setCodec() :

in.setCodec("UTF-8");

关于c++ - 如何使用 Qt 从文件中读取 UTF-8 文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5630114/

相关文章:

c++ - 与执行随机快速排序相关的运行时错误

c++ - qvariant_cast<std::string> 返回空字符串

php - UTF-8贯穿始终

r - Shiny 编码

c++ - 有效地连接几个 vector

c++ - Microsoft Active Accessibility、VB6 和 Ranorex

c++ - 从具有可选基数的字符串中解析数字

javascript - 如何删除javascript中有趣的字符?

c++ - 如何将编辑文本值传递给函数

qt - Q_Property 通知信号何时被调用?