嵌入式开发环境:linux2.6.37 + QT4.7
在开发应用程序时,需要复制和读写中文名文件,但是QT相关函数返回失败,换成英文名文件,就正常?
如下:
QTextCodec *utf8 = QTextCodec::codecForName("utf8");
QTextCodec *code = QTextCodec::codecForName("GB2312");
QTextCodec::setCodecForLocale(utf8);
QTextCodec::setCodecForCStrings(code);
QTextCodec::setCodecForTr(utf8);
QString fileName = tr("测试.txt");
fileName = fileName.trimmed();
QByteArray temp = fileName.toAscii();
const char *tifFileName = temp.data();
FILE *myFile = fopen(tifFileName, "rb");//失败 myFile = NULL
if(myFile != NULL)
fseek(myFile, SEEK_SET, SEEK_EN);
------解决方案--------------------
fileName.toAscii();
这个调完之后就变成了ascii了,中文就成乱码了, 不要调.
------解决方案--------------------