开发环境是vs2005 + Qt4.6.3:
我用Qt编写了一个管理类程序。别人用vs2005编写了一个动态链接库,里面包含了对底层的一些操作。调用动态链接库的函数进行底层操作时,动态链接库会返回一些std::string,里面包含中文。
我在qt管理程序中调用QString::fromStdString 将std:string 变换为 QString后将信息显示。问题是:部署在别人机器上之后,string 转换之后有时候中文正常,有时候是乱码
在应用程序main中已经包含如下代码:
QApplication::addLibraryPath("./plugins");
QTextCodec::setCodecForLocale(QTextCodec::codecForName("GB2312"));
QTextCodec::setCodecForTr(QTextCodec::codecForName("GB2312"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("GB2312"));
在我的程序中,所有界面文字框都用翻译文件进行了处理。部署目录中包含plugin/codes/以及相关dll.
在没使用翻译文件之前。界面文字框也完全是乱码。