几个编码,cpp文件编码、编译器编码、可执行程序编码、操作系统本地编码、Qt内部编码
cpp文件编码可选,如GBK UNICODE UTF等
编译器编码,对于VS一般是UNICODE
可执行程序、操作系统本地编码是一致的,对于中文系统一般是GBK,英文系统是UNICODE
Qt内部编码是UNICODE
对于qt+vs而言,CPP编码采用UTF,cpp中的中文编码编号过程:
1、编译时(cpp到obj文件):vs不识别UTF编码的中文,强行按照UNICODE翻译中文编码,造成乱码
2、链接时(obj到exe):讲上述UNICODE翻译为本地操作系统编码
1、QString::fromLocal8bit转换,Qt将UTF的中文先翻译成本地编码,vs编译器可以按照UNICODE进行正常编译连接
2、QStringLiteral宏转换,Qt在程序的只读区生成一个本地编码的中文(从UTF转),编译和链接时不再进行编码转换
https://blog.csdn.net/u012790503/article/details/52485263