Qt5 中文亂碼的問題

2021-07-22 08:56:02 字數 811 閱讀 3401

1 如果你是linux完全不用擔心因為qt5 可以處理 utf8編碼的中文

2 假如你在window平台上使用 使用如果你在windows下,且使用的是mingw,那麼只要你將原始碼檔案儲存成utf8,前面的**將直接可以工作(無須其他設定)

3 如果使用的是 msvc2005/2008/2010/2013/2015,可能無法使用utf8編碼,只能用 gbk編碼 那麼上述就不好用了,可以使用如下方法

(1)資料傳輸

std::

string

gbk2utf8

(const

std::

string

&in )

std

::string

utf82gbk(

const

std::

string

&in)

(2)中文顯示

首先qtextcodec

::setcodecforlocale

(qtextcodec

::codecforname

("gbk"

));

a(argc,

argv);

然後

std::

string

str1

="請跟我去atm機"

;str

=qstring

::fromlocal8bit(str1.c_str());

即可完美顯示中文

Qt5中文亂碼問題

標頭檔案加上 include 在類裡面定義變數 qtextcodec codec 在建構函式中初始化變數 codec qtextcodec codecforname gb18030 在每次使用中文的時候直接呼叫 codec tounicode 開啟檔案 對於中文路徑 qstring filename...

QT5 中文亂碼問題

pragma execution character set utf 8 在類中宣告此預編譯!指示char的執行字符集是utf 8編碼。為什麼會出現亂碼 首先,我們需要有的概念是亂碼的問題是由編碼和解碼方式引起的。涉及到編碼方式的地方有3個 原始碼字符集 執行字符集 執行環境字符集 原始碼字符集 t...

QT5中文亂碼問題

突然開啟乙個別人的工程,發現中文總是顯示不出來,qdebug 列印出來也全是?搜尋了一下解決方法,但是總解決不了。方法1 加入 qtextcodec codec qtextcodec codecforname utf 8 但是對我無效。方法2 在標頭檔案申明中加上 pragma execution ...