16,818
社区成员




QTextCodec *codec = QTextCodec::codecForName("UTF-8");
QTextCodec::setCodecForLocale(codec);
QTextCodec::setCodecForCStrings(codec);
QTextCodec::setCodecForTr(codec);
std::string str = "中文文件名"; // 由于是以GB2312保存的源码,"中文文件名"是GB2312编码的,实际的文件名也是GB2312编码。
QString strFileName = ??//这里该如何从 str转换
if ( QFile::exists(strFileName) )
{
//do something
}
QTextCodec *codec = QTextCodec::codecForName("GB2312"); //UTF-8改为GB2312
QTextCodec::setCodecForLocale(codec);
QTextCodec::setCodecForCStrings(codec);
QTextCodec::setCodecForTr(codec);
std::string str = "中文文件名";
QString strFileName = QString::fromLocal8Bit(str.c_str());
if ( QFile::exists(strFileName) ) //找到了!
{
//do something
}