StupidBeauty
Read times:484Posted at:Sun Feb 17 01:53:55 2013
- no title specified

QtextCodec ::codecForName( "GB18030" ) 的返回值是0x0

终于 又有机会发一篇原创勃客了。

QTextCodec * QTextCodec:: codecForName ( const QByteArray & name ) [static] 这个函数会返回一个以 name 为名字的文字编解码器 。比如 说, QTextCodec ::codecForName( "GB18030" ) 就会返回一个名为 GB18030 的文字编解码器 ,用于处理 些操作系统上常用的简体中文字符。

如果 找不到对应名字的解码器,就会返回0x0。 本座今天就遇到了这样的情况。

在对比过本座以前写过的代码之后,确认本座这次的代码也确实没有写错。那么问题 在哪里呢? 为什么会返回0x0呢?

本座猜测是系统 里缺少 与中文相关的解码器模块造成的。于是尝试 着列出系统 里已经安装过的与qt4相关的软件包

bash-4.0# rpm -qa | grep qt4

qt4-script-4.8.4-1mgc26.i686

qt4-dbus-devel-4.8.4-1mgc26.i686

qt4-declarative-4.8.4-1mgc26.i686

smplayer-qt4-0.8.1-1mgc26.i686

qt4-network-4.8.4-1mgc26.i686

qt4-network-devel-4.8.4-1mgc26.i686

qt4-doc-4.8.4-1mgc26.i686

qt4-clucene-4.8.4-1mgc26.i686

qt4-sqlite-4.8.4-1mgc26.i686

qt4-multimedia-4.8.4-1mgc26.i686

qt4-gif-4.8.4-1mgc26.i686

qt4-scripttools-devel-4.8.4-1mgc26.i686

qt4-xml-4.8.4-1mgc26.i686

qt4-dbus-4.8.4-1mgc26.i686

qt4-script-devel-4.8.4-1mgc26.i686

qt4-opengl-devel-4.8.4-1mgc26.i686

qt4-help-4.8.4-1mgc26.i686

qt4-xmlpatterns-4.8.4-1mgc26.i686

qt4-svg-4.8.4-1mgc26.i686

qt4-gui-devel-4.8.4-1mgc26.i686

qt4-phonon-gstreamer-4.8.4-1mgc26.i686

qt4-gui-4.8.4-1mgc26.i686

qt4-jpeg-4.8.4-1mgc26.i686

qt4-sql-devel-4.8.4-1mgc26.i686

qt4-devel-4.8.4-1mgc26.i686

qt4-designer-4.8.4-1mgc26.i686

qt4-webkit-4.8.4-1mgc26.i686

qt4-xmlpatterns-devel-4.8.4-1mgc26.i686

qt4-core-4.8.4-1mgc26.i686

qt4-compat-4.8.4-1mgc26.i686

qt4-xml-devel-4.8.4-1mgc26.i686

qt4-test-4.8.4-1mgc26.i686

qt4-linguist-4.8.4-1mgc26.i686

qt4-mng-4.8.4-1mgc26.i686

qt4-scripttools-4.8.4-1mgc26.i686

qt4-opengl-4.8.4-1mgc26.i686

qt4-svg-devel-4.8.4-1mgc26.i686

qt4-webkit-devel-4.8.4-1mgc26.i686

qt4-core-devel-4.8.4-1mgc26.i686

qt4-compat-devel-4.8.4-1mgc26.i686

qt4-sql-4.8.4-1mgc26.i686

qt4-4.8.4-1mgc26.i686

qt4-declarative-devel-4.8.4-1mgc26.i686

狠好,本座 印象 ,仓库里有个软件包叫qt4-chinese的 ,不知为何它竟然没被安装 ,狠可能问题就在这里了 那就装上试试吧

bash-4.0# apt-get install qt4-chinese

Reading Package Lists... Done

Building Dependency Tree... Done

The following NEW packages will be installed:

qt4-chinese

0 upgraded, 1 newly installed, 0 removed and 1 not upgraded.

Need to get 101kB of archives.

After unpacking 144kB of additional disk space will be used.

Get:1 http://ncu.dl.sourceforge.net update/soft qt4-chinese 4.8.4-1mgc26 [101kB]

Fetched 101kB in 9s (10.3kB/s)

Committing changes...

Preparing ############################## [100%]

Updating / installing

qt4-chinese-4.8.4-1mgc26.i686 ############################## [100%]

Done.

重新启动本座正在开发的软件,果然 不再返回0x0,有效了,中文处理正常了。

检查 一下这个软件包里的文件:

bash-4.0# rpm -ql qt4-chinese

/usr/lib/qt4/plugins/codecs/libqcncodecs.so

bash-4.0#

看来 GB18030这个编解码器就是位于 libqcncodecs.so里。

未知美女

Your opinions
Your name:Email:Website url:Opinion content:
- no title specified

HxLauncher: Launch Android applications by voice commands

 
Recent comments
2017年4月~2019年4月垃圾短信排行榜Posted at:Thu Sep 26 04:51:48 2024
Qt5.7文档翻译:QWebEngineCookieStore类,QWebEngineCookieStore ClassPosted at:Fri Aug 11 06:50:35 2023盲盒kill -9 18289 Grebe.20230517.211749.552.mp4