Qt中文輸出解決辦法
Qt中文輸出解決辦法是本文要介紹的內容,也似很多朋友需要解決的問題,那么本文將會幫你解決問題。不多說了,請看內容吧。
因為工作到需要,需要使用Qt進行開發。在學習Qt到過程中,進行中文處理遇到了困難,輸出的文本全是亂碼。為此到處查資料,總算找到了解決到辦法。于是把找到的方法寫出來,一是與大家分享,二是作個備忘。
Qt中的中文(國際化)
在Qt中,QString使用Unicode的方式來存放字符串。那么在將相應到本地化字符串傳遞給QString時,一定要用相應到編碼器進行編碼,才能得到正確的本地化字符串。
方法:
這里介紹中文的轉換方法。
在main()中,設置QApplication的到缺省編碼方式。
如:
- QApplication app(argc,argv);
- app.setDefaultCodec(QTextCodec::codecForName("GBK"));
或則
- QTextCodec::setCodecForLocale( QTextCodec::codecForName("GBK"));
然后設置tr的編碼方式.
- QTextCodec::setCodecForTr(QTextCodec::codecForName("GBK"));
具體的使用:
- const char* pcszStr = "中文化";
- QString s = trUtf8(pcszStr); //1
或則
- QString s = QString::fromLocal8Bit(pcszStr); //2
上面的1和2,有時1能正常顯示,有時2能正常顯示。至于為什么會這樣,因為我也是初學Qt,所以也正在研究答案。等找到答案以后在貼出來。
小結:Qt中文輸出解決辦法的內容介紹完了,可能會幫你快速解決問題哦,那么還是希望本文能夠幫你解決出現的問題,如果還有什么問題,謝謝留言!