Qt4 Qt5等Qt版本解決中文亂碼問題

2021-06-27 08:42:20 字數 987 閱讀 6893

在網上找了很長時間,大部分都是其他人瞎折騰**的,很多都不行,實用性很低,現在寫的這個總結也是在網上找了很久總結出來的,經本人在qt4.5和qt5.3上面測試確實可行

我們都是中國人,很多標題用的都是中文,所以直接在main函式中定義如下:

qtextcodec::setcodecforcstrings(qtextcodec::codecforlocale());

qtextcodec::setcodecfortr(qtextcodec::codecforname("utf8"));

別忘記加上 #include 這個標頭檔案

使用中文時不需加tr()函式。

解決讀取ini檔案中中文亂碼

qsettings settings("***x.ini",qsettings::iniformat);

settings.setinicodec(qtextcodec::codecforname("gb2312"));   //在此新增設定,即可讀寫ini檔案中的中文

settings.begingroup("company");

解決讀取中文檔案中文的亂碼

qfile file("***x.txt");

qtextstream stream(file,qiodevice::readonly);

stream.setcodec( qtextcodec::codecforname("gb2312") );

stream.readall();

如果進行上述設定,在自己機器上成功但是在別人的機子上還是出現亂碼的問題該如何辦呢?

很簡單,因為別人的機器上缺少那個字元庫檔案,這個時候,你發布軟體的時候將那個庫帶上去了就行了。

將c:\qt\4.8.4\plugins\codecs 這個資料夾拷貝進你發布軟體的exe檔案下,這個資料夾與你那個exe檔案位於同一目錄就可以了。

注意:你編譯的exe檔案與你拷貝進的字元庫是同一版本的qt才行。

ubuntu18下qt4, qt5環境切換

我需要用qt4來開發,因為我的arm環境是qt4的.這樣pc上裝qt4 能保持與它最大的相容性 但我想學習qt5,所以我安裝了qt4,qt5.雖然我可以把 寫成qt4,qt5相容的形式,但是,有時候我還是需要切換一下qt4,qt5的編譯環境 假定qt4,qt5 都已經安裝完畢,檢視當前的環境 hjj...

QT5解決中文亂碼

首先,我們需要有的概念是亂碼的問題是由編碼和解碼方式引起的。涉及到編碼方式的地方有3個 原始碼字符集 執行字符集 執行環境字符集原始碼字符集 the source character set 原始碼檔案時使用何種編碼格式儲存的。執行字符集 the execution character 可執行程式內...

qt中文亂碼解決

臺機上的工程移到筆記本上中文亂碼了,臺機上用的 qtextcodec codecforname gbk 筆記本上不管用gbk還是utf 8都不管用,網上的方法試了也沒用,最後在qt assistance裡找到了qtextcodec codecforlocale 問題解決。qtextcodec cod...