zoukankan      html  css  js  c++  java
  • PHP 字符集转换函数 iconv 与 mb_convert_encoding 使用区别

    iconv 和 mb_convert_encoding 都是PHP的编码转换函数,但使用上却区别比较大,下面我们来看看。

    iconv 函数定义如下:

    string iconv ( string $in_charset , string $out_charset , string $str )
    • in_charset 为目前的编码方式;
    • out_charset 除了可以指定要转化到的编码以外,还可以增加两个后缀://TRANSLIT //IGNORE
      其中://TRANSLIT 如果在目标编码中找不到与源编码相匹配的字符,会选择相似的字符进行转换;
      //IGNORE 表示忽略不能转换的字符;
      默认效果是从第一个非法字符截断并抛出一个E_NOTICE;
    • str为带转换的字符串;
    • 如果转换失败就返回FALSE;

    mb_convert_encoding 函数定义如下:

    string mb_convert_encoding ( string $str , string $to_encoding [, mixed $from_encoding ] )

    mb_convert_encoding 需要先启用 mbstring 扩展库,在 php.ini里将; extension=php_mbstring.dll 前面的 ; 去掉。


    使用差异:

    • iconv 在默认情况下,不使用//TRANSLIT 和 //IGNORE,如果有转换不了的字符将报异常;而mb_convert_encoding不会.
    • mb_convert_encoding 可以指定多种输入编码,它会根据内容自动识别,即$from_encoding 参数是可选的;
    • 执行效率mb_convert_encoding 比iconv差太多。

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

    出处:http://www.zhaiqianfeng.com    
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    maya粒子生成曲线
    jcFeather 1.5 视频教程系列
    maya 粒子制作海洋岸边convected foam
    maya curveflow修改
    jcFeather 免费限制版本
    欢迎
    用Maya切菜
    easyui 个人使用心得之下拉列表
    SQlServer时间的操作
    数字形式的人民币转换为大写形式
  • 原文地址:https://www.cnblogs.com/zhaiqianfeng/p/4617837.html
Copyright © 2011-2022 走看看