摘要:在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);
--