libxml2文件解析失败:parser error : Unsupported encoding gb2312

在imx6q上使用xml文件存储数据,但解析时出现如下错误:

Entity: line 1: parser error : Unsupported encoding gb2312
<?xml version="1.0" encoding="gb2312"?>
                                     ^
doc == null
parse xml failed: Invalid argument
 

查找资料,可能是由于板端缺少iconv所致。

iconv是一种可以将一种已知的字符集文件转换成另一种已知的字符集文件的库,它的作用是在多种国际编码格式之间进行文本内码的转换,比如它可以将UTF8编码的文件转换成GB18030的编码文件。

问题解决方法:

1、到 http://ftp.gnu.org/gnu/libiconv/ 下载合适的libiconv版本,我这里下载的是1.15。

2、建立out目录,交叉编译libiconv库:

./configure --prefix=$PWD/out --host=arm-poky-linux-gnueabi

注意,这里的home后面跟的参数是arm-poky-linux-gnueabi,而不是arm-poky-linux-gnueabi-或arm-poky-linux-gnueabi-gcc。

3、编译

make

make install

编译之后,会在out目录下生成4个目录,分别是:
bin include lib share

4、将lib下的preloadable_libiconv.so拷贝到开发板,并设置环境变量:

export LD_PRELOAD=/lib/preloadable_libiconv.so

 

注意,若不设置环境变量,则preloadable_libiconv.so库无法被使用。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值