甘肃网站建设制作商,wordpress 头像不见了,企业网站建设进度,深圳建设集团怎么样有许多人在做项目的时候都会遇到字符编码的不一致导致的乱码问题#xff0c;那如何去解决呢#xff1f;在Linux系统上可以通过iconv函数族来进行编码转换#xff0c;但有时候我们并不需要全部的字符集#xff0c;因为可能会占用比较大的空间#xff0c;本文主要支持CP437编…有许多人在做项目的时候都会遇到字符编码的不一致导致的乱码问题那如何去解决呢在Linux系统上可以通过iconv函数族来进行编码转换但有时候我们并不需要全部的字符集因为可能会占用比较大的空间本文主要支持CP437编码格式 库文件下载https://ftp.gnu.org/pub/gnu/libiconv/
1.下载完成后直接解压 tar -xvf libiconv-1.15.tar.gz 2.进入目录编写编译脚本build.sh
CCgcc
HOST
TARGET
DIR/root/linux/direcho $DIR./configure CC$CC --target$TARGET --host$HOST --prefix$DIR --enable-extra-encodingsmake make install
上面注意 --enable-extra-encodings是打开扩展字符集 需要根据自己使用场合修改交叉编译链 3.执行脚本进行编译
chmod x build.sh
./build.sh4.编译完成后 5.这里执行strip压缩体积 6.我们执行程序看看都包含哪些字符集可以看到支持了所有的字符有好多是我们不需要的下面进行裁剪 该iconv可执行文件依赖上面的库如果导入arm设备要导入相应的库文件 7.进入lib目录编辑iconv.c文件屏蔽一些无用代码
//#define USE_AIX
//#define USE_OSF1
#define USE_DOS
//#define USE_EXTRA首先屏蔽一些宏然后编译发现还是有一些我们不想要的字符集 8.编辑lib/encodings_dos.def文件删除不需要的字符集同时删除aliases_dos.h文件的相关定义最后删除canonical_dos.h中的一些报错就可以了 9.经过strip后这个时候在看就小的多了 再次使用iconv查看支持的字符集就可以了
网上给出的另一种裁剪方法
libiconv库裁剪