Qt漢字亂碼問題

2021-09-29 04:57:09 字數 508 閱讀 1221

1.漢字亂碼問題:

例:ui->editdebugchannel->settext(qstring("%1通道").arg(debug_channel));顯示到視窗就會有亂碼

產生原因:

qt內部是使用unicode編碼的,即qstring儲存的是unicode編碼的字串。而原始碼中的漢字字串在生成可執行檔案的過程中被轉換成了本地編碼(windows預設ansi)。因此,執行.exe檔案時,如果按照unicode編碼讀取漢字,則會產生亂碼。

解決方法:

1). qsring::fromlocal8bit 把本地編碼轉換為unicode編碼

settext(qstring::fromlocal8bit(「通道」));

2). qstringliteral巨集

直接生成unicode字串儲存在可執行檔案中的唯讀區域,這樣執行時不會發生任何轉換。可以顯著提高程式執行效率。

需c++11支援。

settext(qstringliteral(「通道」));

解決Qt漢字編碼亂碼的問題

解決qt中文亂碼以及漢字編碼的問題 utf 8 gbk qt需要在main 函式指定使用的字元編碼。標頭檔案 include 一 qtextcodec codec qtextcodec codecforname gbk 情況1 qtextcodec setcodecfortr codec qtext...

CAD漢字亂碼問題

如何設定cad可以把gbcbig作為缺失字型的替換字型 怎樣在cad中快速替換缺失字型 cad支援兩種字型 解決辦法 出現選擇字型對話方塊不用管它,直接關閉。文字顯示 時,按如下操作 1 文字顯示 時,選擇有問題的文字,ctrl 1檢視文字樣式名稱記下來,2 命令style開啟文字樣式對話方塊,找到...

亂碼問題 Qt中文亂碼問題

接觸了qt,由於習慣中vs,如果使用vs寫qt 剛接觸很快就發現有中文亂碼問題,我的解決方法如下 新建乙個標頭檔案,比如qtchcharset.h,標頭檔案中內容如下 pragma once ifdef q os win q os win 新增後支援gb2312,utf 8 bom,unicode ...