系统 银河麒麟
locale utf-8
qt4. 8. 4
1.qtcreator编辑器默认编码设置为gbk。
2.种种原因,做了以下配置
TextCodec::setCodecForLocale(QTextCodec::codecForName("GBK"))
QTextCodec::setCodecForCStrings (QTextCodec::codecForName(“GBK"))
QTextCodec::setCodecForTr(QTextCodec::codecForName(“GBK"))
基于上述环境,新建文件,文件名乱码。
QString fllPath
charp=“流水.txt"
fllPath=“流水.txt”.
获得unicode字符串
QString utfStr = QString::fromLocal8Bit(p)
//转为utf8编码格式数据区
QByteArray ba = utfStr. toltf80
将utf-8格式数据赋值给Q8tring,fllpath会显示乱码fllPath = ba. data():
新建的文件名不会乱码QFile file(fl1Path)
if (l file. open(QIODevice: :WriteOnly lQIODevice::Truncate ))
return
file. close。
问题暂时解决,具体原因有知道的,请留言帮忙解读。