|
10Qter豆
本帖最后由 artlands 于 2016-9-21 09:37 编辑
使用Qt4.7.3+VS2008 sp1编写了一个小程序,但发现这个程序在别的电脑运行无法显示使用QTextCodec类转码后的文字,中文英文都不能显示,换了两台电脑都不行,在我自己的电脑却能正常显示转码后的文字,包括中文和英文,这是怎么回事?怎么解决?
(使用的转码语句是TextCodec* pCodec = QTextCodec::codecForName("GB18030");)
我现在发现根源了,就是这个语句 QTextCodec* pCodec = QTextCodec::codecForName("GB18030");执行后,在别的电脑里pCodec仍然为空, pCodec为假值.
我的调用函数是这样的:
static QString ToUnicode(const string& cstr)
{
QTextCodec* pCodec = QTextCodec::codecForName("GB18030");
if(!pCodec) return "";
QString qstr = pCodec->toUnicode(cstr.c_str(), cstr.length());
return qstr;
}
函数调用后,在别的电脑返回了空值 |
|