以下因素都有影响:1. QT4与QT5对字符串编码的处理不同(最好不要在源代码里直接写中文,坑更多)2. QTextCodec自动对编码转换的影响3. 源代码文件对编码存储格式的不同会影响编译器对字符串的理解4. 不同版本编译器对源代码文件的理解不同,比如VC6和VC2005的不同,比如VS2010的pragma指令,更不用说MinGW与VC编译器的不同.5. 也就是我今天碰到的,VS输出调试器对字符串编码的影响.以下代码在单步调试状态下读取utf8文件,中文正确,外文特殊字符乱码(其实也不是乱