使用文件,cp1251和utf-8编码

时间:2015-11-06 14:09:37

标签: c++ qt qt-creator

Rigth现在我有类似

的东西
QCoreApplication a(argc, argv);

QStringList argList = a.arguments();

if (argList.length() < 2 || argList.length() > 3)
{
    QTextStream(stdout) << "Usage: toGift input_file [output_dir]\n";
    return - 1;
}

用于解码Windows-1251字符串,但我仍然得到错误的文件名,它通过argv传递。文件名是西里尔文。无法确定我缺少的东西

2 个答案:

答案 0 :(得分:2)

Windows控制台应用程序中的文本编码很麻烦。提示:使用QApplication的arguments()成员(QCoreApplication,如果它是控制台可执行文件),它直接从Windows检索UTF-16中的参数,而不尝试从用于argc / argv的有损本地编码中解码它。

答案 1 :(得分:0)

最终它出现了:

expectation

我仍然需要解码器以供进一步使用。