首页| 论坛| 消息

标题:qt 应用程序与调用的库文件编码不一致
作者:haoyunp
日期:2011-08-26 18:31
内容:

我的应用程序原来的编码为UTF-8,加入的syszuxpinyin拼音输入法的库文件采用的编码为GB2312,我该怎样对编码进行转换呢?


syszuxpinyin的编码应该是GB2312,而我qt4.5的应用程序中用的是UTF-8才能显示中文,要想应用这个输入法是不是应该转换编码呀?
在我的应用程序中:
QTextCodec::setCodecForTr( QTextCodec::codecForName("UTF-8"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
QTextCodec::setCodecForLocale(QTextCodec::codecForName("GB18030"));
才能正常显示中文,但是输入法就不能显示中文了。
如果QTextCodec::setCodecForTr( QTextCodec::codecForName("GB2312"));,则输入法可以,程序中不能显示中文。应该怎么解决呢?


#1 [dbzhang800 08-27 08:37]
引用楼主haoyunp于2011-08-26 18:31发表的 qt 应用程序与调用的库文件编码不一致 :
我的应用程序原来的编码为UTF-8,加入的syszuxpinyin拼音输入法的库文件采用的编码为GB2312,我该怎样对编码进行转换呢?


syszuxpinyin的编码应该是GB2312,而我qt4.5的应用程序中用的是UTF-8才能显示中文,要想应用这个输入法是不是应该转换编码呀?
在我的应用程序中:
.......
不清楚 syszuxpinyin 是什么东西,随便说一点自己的感觉:
如果一个Qt的第三方库,它的编码依赖于:
QTextCodec::setCodecForTr( ..);

QTextCodec::setCodecForCStrings(...);
那么这个库在编码设计上存在问题。如果你确认如此,我想你应该去报告 bug

回复 发表
主题 版块