• 技术文章 >后端开发 >php教程

    iconv和mb_convert_encoding转码函数的区别

    2016-06-01 14:24:23原创485

    iconv — Convert string to requested character encoding(PHP 4 >= 4.0.5, PHP 5)

    mb_convert_encoding — Convert character encoding(PHP 4 >= 4.0.6, PHP 5)

    用法:

    iconv

    string iconv ( string $in_charset , string $out_charset , string $str )

    将字符串从一个指定的编码转换到另一个指定的编码. 需要注意的是:第二个参数,除了可以指定要转化到的编码以外,还可以增加两个后缀. //TRANSLIT 会自动将不能直接转化的字符变成一个或多个近似的字符,//IGNORE 会忽略掉不能转化的字符,而默认效果是从第一个非法字符截断,举例:

    //将 "欢迎访问WEB开发网" 由gb2312编码转为 UTF-8编码
    echo iconv('gb2312', 'utf-8, "欢迎访问WEB开发网"); 

    PHP中使用iconv转码的小陷阱

    发现iconv在转换字符”—”(ascii码150之后的字符)到gb2312时会出错,如果没有ignore参数,所有该字符后面的字符串都无法被保存。不管怎么样,这个”—”都无法转换成功,无法输出。 另外mb_convert_encoding没有这个bug.

    一般情况下用 iconv,只有当遇到无法确定原编码是何种编码,或者iconv转化后无法正常显示时才用mb_convert_encoding 函数.

    from_encoding is specified by character code name before conversion. it can be array or string - comma separated enumerated list. If it is not specified, the internal encoding will be used.

    /* Auto detect encoding from JIS, eucjp-win, sjis-win, then convert str to UCS-2LE */
    $str = mb_convert_encoding($str, “UCS-2LE”, “JIS, eucjp-win, sjis-win”);
    /* “auto” is expanded to “ASCII,JIS,UTF-8,EUC-JP,SJIS” */
    $str = mb_convert_encoding($str, “EUC-JP”, “auto”);

    1 2 下一页
    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:数据源架构模式的活动记录 下一篇:怎样利用好PATH_INFO方式隐藏index.php文件?
    PHP编程就业班

    相关文章推荐

    • 怎么解决PHP高并发(商品秒杀)问题?两种解决方案分享• 生手数据库求指教• 关于phpexcel有关问题• 不区分大小写,查寻数组,有这样的函数么• 关于memcache 今天刚开始学习遇到个有关问题

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网