php中iconv函数用法详解介绍
发布:smiling 来源: PHP粉丝网 添加日期:2014-09-14 21:14:01 浏览: 评论:0
本文章给大家来详细介绍在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;
扩展代码如下:
- echo $str= '你好,欢迎访问胡文芳的博客,该博客记录一个程序员的成长过程!';
- echo '<br />';
- echo iconv('GB2312', 'UTF-8', $str); //将字符串的编码从GB2312转到UTF-8
- echo '<br />';
- //开源软件:phpfensi.com
- 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);
- 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,避免开发者使用不善时出现返回空字符串的情况.
Tags: iconv函数 php函数用法
相关文章
- ·PHP中strtotime函数用法(2014-09-13)
- ·php get_magic_quotes_gpc()函数用法介绍(2014-09-14)
- ·php中fgetcsv()函数用法(2014-09-14)
- ·PHP curl_setopt函数用法介绍(2014-09-14)
- ·PHP中array_slice函数用法介绍(2014-09-16)
- ·php中strtotime()函数的用法(2014-09-16)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)