iconv函数库能够完成各种字符集间的转换,是php编程中不可缺少的基础函数库。
1、下载libiconv函数库http://ftp。gnu。org/pub/gnu/libiconv/libiconv-1。9。2。tar。gz;
2、解压缩tar -zxvf libiconv-1。
9。2。tar。gz;
3、安装libiconv
#configure --prefix=/usr/local/iconv
#make
#make install
4、重新编译php 增加编译参数--with-iconv=/usr/local/iconv
windows下
最近在做一个小偷程序,需要用到iconv函数把抓取来过的utf-8编码的页面转成gb2312, 发现只有用iconv函数把抓取过来的数据一转码数据就会无缘无故的少一些。
让我郁闷了好一会儿,去网上一查资料才知道这是iconv函数的一个bug。iconv在转换字符"—"到gb2312时会出错
解决方法很简单,就是在需要转成的编码后加 "//IGNORE" 也就是iconv函数第二个参数后。如下:
以下为引用的内容:
iconv("UTF-8","GB2312//IGNORE",$data)
ignore的意思是忽略转换时的错误,如果没有ignore参数,所有该字符后面的字符串都无法被保存。
iconv不是php的默认函数,也是默认安装的模块。需要安装才能用的。
如果是windows2000+php,你可以修改php。ini文件,将extension=php_iconv。dll前的";"去掉,同时你要copy你的原php安装文件下的iconv。
dll到你的winnt/system32下(如果你的dll指向的是这个目录)
在linux环境下,用静态安装的方式,在configure时加多一项 --with-iconv就可以了,phpinfo看得到iconv的项。(Linux7。
3+Apache4。06+php4。3。2),
下载:ftp://ftp。gnu。org/pub/gnu/libiconv/libiconv-1。8。tar。gz
安装:
#cp libiconv-1。8。tar。gz /usr/local/src
#tar zxvf lib*
#。
/configure --prefix=/usr/local/libiconv
#make
#make install
编译php
#。/configure --prefix=/usr/local/php4。3。2 --with-iconv=/usr/local/libiconv/
使用的简单例子:
再来个GB2312 To Big5
不过要使用上面的函数需要安装但是需要先enable mbstring 扩展库。
PHP中的另外一个函数iconv也是用来转换字符串编码的,与上函数功能相似。
全部