QT乱码总结0.Qt乱码产生因素
QT亂碼總結0.Qt亂碼產生因素
https://blog.csdn.net/liujiayu2/article/details/103167953
QT亂碼總結1.Unicode 和 UTF-8
https://blog.csdn.net/liujiayu2/article/details/103168020
QT亂碼總結2.gbk和ANSI和gb2312的區別
https://blog.csdn.net/liujiayu2/article/details/103168168
QT亂碼總結3.UNICODE有無BOM
https://blog.csdn.net/liujiayu2/article/details/103168236
QT亂碼總結4.細談本地編碼
https://blog.csdn.net/liujiayu2/article/details/103168249
QT亂碼總結5.萬能解決方案
https://blog.csdn.net/liujiayu2/article/details/103168272
QT亂碼總結6.編碼測試和總結一
https://blog.csdn.net/liujiayu2/article/details/103168289
QT亂碼總結7.編碼測試和總結二
https://blog.csdn.net/liujiayu2/article/details/103168301
QT亂碼總結8.編碼測試和總結三
https://blog.csdn.net/liujiayu2/article/details/103168307
QT亂碼總結9.編碼測試和總結四
https://blog.csdn.net/liujiayu2/article/details/103168317
QT亂碼總結編碼測試工程:
https://download.csdn.net/download/liujiayu2/11987065
?
qt亂碼原因有很多,本篇文章先宏觀概論一下有哪些因素會導致亂碼:
a.操作系統類型和版本(Windows,linux,Windows中文版,Windows英文版)
? ??
b.編譯器類型和版本(msvc,g++,msvc05,msvc10,msvc10中文版,msvc10英文版)編譯器自身是有缺陷的(GCC到了4.6+,msvc編譯器到了2010sp1才有了徹底解決方案)
? ??
c.源文件所用編碼---文本沒有標注自己使用了哪種編碼(utf-8,gbk)
? ??
d.程序執行默認編碼---即程序運行的時候把字符集加載到內存中解碼時候所用編碼(utf-8,gbk)
表面現象就是上述4種。
下面說一下根本原因。
Qt亂碼大部分原因是因為QString沒有被正確初始化,QString內部采用UNICODE編碼。支持世界上所有語言的文字,只是初始化的時候要注意告訴他采用的是什么編碼。qt4版本QString默認是Latin-1編碼,qt5中則是utf-8編碼。
總結
以上是生活随笔為你收集整理的QT乱码总结0.Qt乱码产生因素的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CEF:MFC 对话框 Demo(VS2
- 下一篇: QT乱码总结1.Unicode 和 UT