在Qt中顯示中文

摘要:在Qt中顯示中文


在Qt中顯示中文
一開始找了以下的方法,在DLL連結中第二個方法沒問題,但第一個方法會使程式當掉
也就是QTextCodec::codecForName()會傳回null,
但第一個方法在靜態連結(static link)完全做用,因此找了第三個方式
原理就是 若找不到設定的編碼方式,就取得local的編碼方式
         然後用codec->toUnicode()對中文字串編成Unicode


--1--
http://caterpillar.onlyfun.net/Gossip/Qt4Gossip/DisplayChinese.html
簡單的顯示中文(使用 Unicode 轉換)
 QTextCodec *codec = QTextCodec::codecForName("Big5-ETen");
 ..
 codec->toUnicode(string);

--2--
http://caterpillar.onlyfun.net/Gossip/Qt4Gossip/UseUnicode.html
 QTextCodec::setCodecForCStrings(QTextCodec::codecForName("Big5-ETen")); 
 ...
 ...
 

--3--
http://people.via.ecp.fr/~clem/nist/doxydoc/allOpie/AnyLnk_8cpp-source.html
 QTextCodec* codec = QTextCodec::codecForName(charset);
 if(codec == NULL){
  codec = QTextCodec::codecForLocale();
 }
 ...
 codec->toUnicode(string);

 

--


Yotrew.Wing.蛋型.水瓶.U103.Che.KUAS
Yotrew.Wing.M98111XX@MS98.EDU/MIS.CSU
Yotrew.Wing.69241XX@MS92.CS.CCU
Yotrew.Wing.584012XX@89乙.Che.KUAS
Yotrew.Wing.b8803XXX@U92A.CSIE.ISU