iconv的用法

unix下安装PHP的module,需要重新编译PHP,Windows下安装模板,只需将php.ini里的配置打开相应的dll就可,例如,需要加入gb库的支持,需要如下设置:

extension_dir = “C:/ipaddr/php/extensions/”(注意,建议写全地址,并且后面加上/,很多时候是因为这里设置不对,才导致无法加载其它模块的dll的)再打开extension=php_gd2.dll但如果是安装iconv.dll,按上面方法,打开php_iconv.dll后,还是无法开启iconv模块,需要如下配置:a.上iconv的官方下载站点下面Windows版的iconv文件:libiconv-1.9.1.bin.woe32.zip将这文件解压,将bin/下面的charset.dll,iconv.dll,iconv.exe拷贝到c:/windows/ (或其它的系统PATH中)(ipaddr提醒你,这步是必须的,php_iconv.dll也是调用GNU的iconv库的,所以,先要安装GNU的iconv库)b.开启php.ini里面的php_iconv.dllc.重启Apache,再在phpinfo();检测是否开启iconv。最近在做一个程序,需要用到iconv函数把抓取来过的utf-8编码的页面转成gb2312, 发现只有用iconv函数把抓取过来的数据一转码数据就会无缘无故的少一些。 让我郁闷了好一会儿,去网上一查资料才知道这是iconv函数的一个bug。iconv在转换字符”—”到gb2312时会出错解决方法很简单,就是在需要转成的编码后加 “//IGNORE” 也就是iconv函数第二个参数后.如下:以下为引用的内容:iconv(“UTF-8″,”GB2312//IGNORE”,$data)ignore的意思是忽略转换时的错误,如果没有ignore参数,所有该字符后面的字符串都无法被保存。这个iconv()这个函数,在php5中是内置的.列子<?phpecho $str= ‘你好,这里是卖咖啡!’;echo ‘<br />’;echo iconv(‘GB2312′, ‘UTF-8′, $str); //将字符串的编码从GB2312转到UTF-8echo ‘<br />’;echo iconv_substr($str, 1, 1, ‘UTF-8′); //按字符个数截取而非字节print_r(iconv_get_encoding()); //得到当前页面编码信息echo iconv_strlen($str, ‘UTF-8′); //得到设定编码的字符串长度//也有这样用的$content = iconv(“UTF-8″,”gbk//TRANSLIT”,$content);?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值