用户名:
密 码: 记住
您当前的位置:首页 > 网络编程 > php教程

php中iconv函数用法详解介绍

时间:2015-01-23  来源:西部数据  作者:西部数据

本文章给大家来详细介绍在php中使用iconv函数来转换字符串编码方法与关于iconv函数bug分析,有需要的朋友可能参考参考.

iconv不是php的默认函数,也是默认安装的模块,需要安装才能用的.

如果是windows2000+php,你可以修改php.ini文件,将extension=php_iconv.dll前的";"去掉,同时你要copy你的原php安装文件下的iconv.dll到你的winnt/system32下

用法如下:

$string = "亲爱的朋友欢迎访问胡文芳的博客,希望给您带来一点点的帮助!";

iconv("utf8","gbk",$string)//将字符串string  编码由utf8转变成gbk;

扩展代码如下:

  1. echo $str'你好,欢迎访问胡文芳的博客,该博客记录一个程序员的成长过程!'
  2. echo '<br />'
  3. echo iconv('GB2312''UTF-8'$str); //将字符串的编码从GB2312转到UTF-8 
  4. echo '<br />'
  5. //开源软件:phpfensi.com 
  6. echo iconv_substr($str, 1, 1, 'UTF-8'); //按字符个数截取而非字节 
  7. print_r(iconv_get_encoding()); //得到当前页面编码信息 
  8. echo iconv_strlen($str'UTF-8'); //得到设定编码的字符串长度 
  9. //也有这样用的 
  10. $content = iconv("UTF-8","gbk//TRANSLIT",$content); 
  11. iconv函数一个小bug 

试试把以下这段字符串用iconv转换一下看看效果,代码如下:

$str="www.111cn.net,ok!the string is € .我要转换他!⊙●○①⊕◎Θ⊙¤?";

echo '没有任何参数 : ', iconv("utf-8", "gbk", $str)."<br>";

在我的电脑中返回的结果是第一个特殊字符以后的字符都不能显示。

iconv有两个参数:分别是TRANSLIT 和IGNORE,分别的含义是TRANSLIT 表示如果目标编码里面不能翻译原编码,那么就直接找一个类似的最相近的字符或者字符串替代,例如€可能会被替换为EUR,而IGNORE遇到目标字符集不能翻译的原始字符则直接跳过忽略,不返回false.

使用方法,代码如下:

$infocontent=iconv("utf-8","gbk//IGNORE",$infocontent);

或者:

$infocontent=iconv("utf-8","gbk//TRANSLIT",$infocontent);

鉴于此,我认为iconv应该提供一个默认的参数IGNORE,避免开发者使用不善时出现返回空字符串的情况.

来顶一下
返回首页
返回首页
推荐资讯
WiFi太不安全:7岁女孩11分钟内入侵公共网络 WiFi太不安全:7岁女孩11分钟内入侵近期刚刚发布研究说WiFi网络能获得人们手机里多少私人信息,
不服跑个分?人工智能也出现“刷分”乱象 不服跑个分?人工智能也出现“刷分2014年,人工智能领域突然爆发,成为了科研和科技创业的热门
相关文章
    无相关信息
栏目更新
栏目热门