原来一直用系统API获取当前程序路径,复制拷贝文件.没考虑过编码的问题
今天用QT的QFile::copy 发现在中文路径下会乱码,测试环境下一直是英文.发到客户电脑上中文路径就出现问题了.一直找不到文件.
打印发现QString filename 中文那里是乱码,但是用API获取到的, AppPath 输出路径却是正常.
查了下资料,编码默认是GBK.需要转成UTF8,用QString::fromLocal8Bit转换一下解决了
其他转换编码方法:
1:字符串可以加前缀u8来解决.很方便
2:#pragma execution_character_set("utf-8")
记录一下,防止以后再犯同样的错误.感觉以后写东西要全部统一UTF8编码了!