新聞中心
linux是一款系統(tǒng),而Qt是軟件開發(fā)的框架。在使用Qt編寫軟件的過程中,如果不對編碼設置正確,就可能會導致亂碼問題。由于Linux下的圖形接口因字符集的差異而引發(fā)亂碼,所以在編寫程序時需要仔細考慮編碼問題,以解決亂碼問題。

創(chuàng)新互聯(lián)公司-云計算及IDC服務提供商,涵蓋公有云、IDC機房租用、成都移動機房、等保安全、私有云建設等企業(yè)級互聯(lián)網基礎服務,服務熱線:18980820575
首先應該確認有沒有更改系統(tǒng)環(huán)境變量中的LANG值,**將LANG設置為en_US.utf-8或zh_CN.utf-8**,如果LANG的值是這樣的,那么系統(tǒng)亂碼問題就能夠解決。此外,需要確保把“Use Unicode UTF-8 for worldwide language support”選項勾選,這樣有利于保證顯示編碼正確。
在使用Qt開發(fā)程序時,要想解決亂碼問題,需使用Qt聲明字符集,確保從源文件到運行環(huán)境的編碼不變。通過在源文件中添加如下代碼聲明字符集:
#include
QTextCodec *codec = QTextCodec::codecForName("UTF-8");
QTextCodec::setCodecForLocale(codec);
QTextCodec::setCodecForCStrings(codec);
QTextCodec::setCodecForTr(codec);
此外,也需要在pro文件中添加編碼信息,來指定使用UTF-8編碼:
QMAKE_CXXFLAGS += -fexec-charset=UTF-8
QMAKE_LFLAGS += -fexec-charset=UTF-8
QMAKE_CXXFLAGS += -finput-charset=UTF-8
QMAKE_CFLAGS += -finput-charset=UTF-8
在Mac OS下也可以采用類似的方式來聲明字符集,使用NSString及NSLocalString類型代替QString以解決亂碼問題。
解決Linux下Qt亂碼問題不是一件容易的事情,但是只要了解了上述步驟,就可以輕松解決問題,用簡單的步驟獲得更好的開發(fā)效果!
香港服務器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網服務提供商,擁有超過10年的服務器租用、服務器托管、云服務器、虛擬主機、網站系統(tǒng)開發(fā)經驗。專業(yè)提供云主機、虛擬主機、域名注冊、VPS主機、云服務器、香港云服務器、免備案服務器等。
本文標題:解決Linux下Qt亂碼問題(linuxqt亂碼)
新聞來源:http://fisionsoft.com.cn/article/cdghhog.html


咨詢
建站咨詢
