linux下Qt中文亂碼問題

2021-10-18 07:16:42 字數 482 閱讀 1199

找了一天的中文亂碼解決方案

雖然直接對程式設定:

qtextcodec::setcodecforlocale(qtextcodec::codecforname("gbk"));

qstring str = qstring::fromlocal8bit("中文");

可以生效,但是可能會影響其它介面的中文顯示樣式,也許你的程式只是大系統中的一部分

qtextcodec::codeforname("gbk")->tounicode("中文");
經驗:

進行國產化適配的時候很多程式是從 vs遷移過來的,如果使用qt  creator開啟工程時通常會出現中文亂碼,原因是vs是以gbk儲存原始碼檔案的,因此遷移時先對所有檔案做編碼處理,轉為utf-8檔案型別,使得在linux下能夠正常顯示,避免工程中有的檔案以utf編碼,有的以gbk編碼,導致工程很亂。

qt 中文亂碼 Qt中文亂碼問題

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

亂碼問題 Qt中文亂碼問題

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

QT 中文亂碼問題

1,將設定改為 如果是utf 8編碼,則新增 2,cpp檔案開始新增 pragma execution character set utf 8 根據 qt 的文件 中規定 qstring 的 const char 建構函式是呼叫 fromutf8 構造的。所以要求字串字面量是 utf 8 編碼的位元...