基于php iconv函数的使用详解

 更新时间:2013年06月09日 16:54:22   作者:  
本篇文章是对php中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的官方下载站点
http://ftp.gnu.org/pub/gnu/libiconv/
下面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.dll

c.重启Apache,再在phpinfo();检测是否开启iconv。
最近在做一个程序,需要用到iconv函数把抓取来过的utf-8编码的页面转成gb2312, 发现只有用iconv函数把抓取过来的数据一转码数据就会无缘无故的少一些。 让我郁闷了好一会儿,去网上一查资料才知道这是iconv函数的一个bug。iconv在转换字符"—"到gb2312时会出错
解决方法很简单,就是在需要转成的编码后加 "//IGNORE" 也就是iconv函数第二个参数后.如下:
以下为引用的内容:
iconv("UTF-8","GB2312//IGNORE",$data)
ignore的意思是忽略转换时的错误,如果没有ignore参数,所有该字符后面的字符串都无法被保存。

这个iconv()这个函数,在php5中是内置的.谢谢.

列子

复制代码 代码如下:

<?php
echo $str= '你好,这里是卖咖啡!';
echo '<br />';

echo iconv('GB2312', 'UTF-8', $str);      //将字符串的编码从GB2312转到UTF-8
echo '<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);
?>

相关文章

  • 使用Zttp简化Guzzle 调用

    使用Zttp简化Guzzle 调用

    在 PHP 的项目中,如果你需要通过代码来发起 HTTP 请求,相信很多人对 GuzzleHttp 这个 Package 很熟悉,然而其实在使用 Guzzle 的时候,我们依然可以做得更简便一点的,下面我们就来看下今天的主角--Zhttp
    2017-07-07
  • 简单的php写入数据库类代码分享

    简单的php写入数据库类代码分享

    简单的php写入数据库类代码分享,学习php的朋友可以参考下。
    2011-07-07
  • 通过PHP的内置函数,通过DES算法对数据加密和解密

    通过PHP的内置函数,通过DES算法对数据加密和解密

    数据加密的基本过程就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码,通常称为密文,使其只能在输入相应的密钥之后才能显示出本来内容,通过这样的途径来达到保护数据不被非法人窃取、阅读的目的
    2012-06-06
  • php实现希尔排序算法的方法分析

    php实现希尔排序算法的方法分析

    这篇文章主要介绍了php实现希尔排序算法的方法,简单说明了希尔排序的原理,并结合实例形式分析了php实现希尔排序的具体操作技巧,需要的朋友可以参考下
    2017-12-12
  • PHP pthreads v3使用中的一些坑和注意点分析

    PHP pthreads v3使用中的一些坑和注意点分析

    这篇文章主要介绍了PHP pthreads v3使用中的一些坑和注意点,总结分析了PHP pthreads v3使用过程中经常遇到的各种问题及相关操作注意事项,需要的朋友可以参考下
    2020-02-02
  • php解决和避免form表单重复提交的几种方法

    php解决和避免form表单重复提交的几种方法

    在PHP提交表单的时候,可能遇到网速等导致页面突然加载变慢,用户重复地点击提交按钮,将在数据库产生多条数据,导致不可控情况。那么如何避免和解决这种问题呢?下面来一起看看。
    2016-08-08
  • php导出CSV抽象类实例

    php导出CSV抽象类实例

    这篇文章主要介绍了php导出CSV抽象类及其用法示例,可实现循环导出功能,从而避免内存不足的问题,需要的朋友可以参考下
    2014-09-09
  • PHP使用递归方式列出当前目录下所有文件的方法

    PHP使用递归方式列出当前目录下所有文件的方法

    这篇文章主要介绍了PHP使用递归方式列出当前目录下所有文件的方法,涉及php递归操作文件的相关技巧,需要的朋友可以参考下
    2015-06-06
  • discuz论坛更换域名,详细文件修改步骤

    discuz论坛更换域名,详细文件修改步骤

    这篇文章主要介绍了discuz论坛更换域名,详细搬家步骤,本文步骤和修改的文件给大家介绍的非常详细,需要的朋友参考下吧
    2020-12-12
  • 限制ckeditor上传图片文件大小的方法

    限制ckeditor上传图片文件大小的方法

    本文的方法解决了如何限制ckeditor上传图片文件大小,具体步骤可如下,大家可以参考使用
    2013-11-11

最新评论