Linux使用iconv将gbk编码转化为utf-8编码

时间:2021-07-06 08:44:11

一、 Linux下libiconv库的安装和使用:

1.libiconv包的下载路径

包的下载页面http://www.gnu.org/software/libiconv/

2.编译安装libiconv库

$tar zxvf libiconv-1.14.tar.gz

$cd libiconv-1.14

$ ./configure --prefix=/usr/local

$ make

$ make install

在/usr/local/lib/目录下,拷备需要的库文件libcharset.so.1, libiconv.so.2。

3. 加载动态库出错解决办法

调用libiconv动态库文件时,若出现“error while loading sharedlibraries: libiconv.so.2”错误,解决方法为:

$ updatedb
$ locate libiconv.so.2

发现该库已经安装,位置在/usr/local/lib/libiconv.so.2。既然已经安装,为什么提示找不到?继续下一步排查。

$strace ./indexer 将打印出所有indexer 启动时调用的文件及程序名称,
在输出的信息中,发现查找库libiconv.so.2的路径是/lib目录和/usr/lib这两个目录。
好了,问题找到了,将/usr/local/lib下面该库链接到/usr/lib下面即可

$ ln -s /usr/local/lib/libiconv.so.2 /usr/lib/libiconv.so.2

在文件/etc/ld.so.conf中新添加一行,/usr/lib/

$ sudo /sbin/ldconfig

二、使用iconv把Windows下的GBK编码转化为UTF-8编码:

iconv -f gbk -t utf-8 cloud.cpp