日期:2014-05-16  浏览次数:20742 次

现在在嵌入式系统中需要使用iconv系列函数,都需要用到什么库(.so)
使用iconv_open( "UTF-8 ",   "ISO-8859-2 ")的时候总是不多,错误是参数不支持,已经加入的libCNS.so,   libGB.so,libISOIR165.so,libJIS.so,libJISX0213.so,libKSC.so,GB18030.so,UTF-7.so,ISO8859-2.so加入了/lib/   和/usr/lib/gconv目录中,但是错误依然阿。

------解决方案--------------------
你运行下你的程序看看都需要什么库? 用ldd命令
------解决方案--------------------
在Redhat9上,执行了iconv_open( "UTF-8 ", "ISO-8859-2 "),
看了一下运行库 (我的程序名叫hello)
08048000-08049000 r-xp 00000000 08:02 229782 /tmp/hello
08049000-0804a000 rwxp 00000000 08:02 229782 /tmp/hello
0804a000-08053000 rwxp 0804a000 00:00 0 [heap]
b7e0d000-b7f40000 r-xp 00000000 08:02 4063242 /lib/libc-2.3.2.so
b7f40000-b7f44000 rwxp 00132000 08:02 4063242 /lib/libc-2.3.2.so
b7f44000-b7f46000 rwxp b7f44000 00:00 0
b7f4a000-b7f4c000 r-xp 00000000 08:02 8093839 /usr/lib/gconv/ISO8859-2.so
b7f4c000-b7f4d000 rwxp 00001000 08:02 8093839 /usr/lib/gconv/ISO8859-2.so
b7f4d000-b7f53000 r-xs 00000000 08:02 8093888 /usr/lib/gconv/gconv-modules.cache
b7f53000-b7f55000 rwxp b7f53000 00:00 0
b7f55000-b7f6a000 r-xp 00000000 08:02 4063235 /lib/ld-2.3.2.so
b7f6a000-b7f6b000 rwxp 00014000 08:02 4063235 /lib/ld-2.3.2.so
bfded000-bfe02000 rwxp bfded000 00:00 0 [stack]
ffffe000-fffff000 r-xp 00000000 00:00 0 [vdso]

如果ISO8859-2.so已经加进去了的话,
那可能就是gconv-modules.cache的问题了。
配置文件在/usr/lib/gconv/gconv-modules
抱歉这个我没搞过,不太懂,哪位大虾知道的话,
再点播一下。