PHP 字符集转换函数 iconv 与 mb_convert_encoding 使用区别
2012-11-02 14:14
821 查看
iconv 和 mb_convert_encoding 都是PHP的编码转换函数,但使用上却区别比较大,下面我们来看看。
iconv 函数定义如下:
in_charset 为目前的编码方式;
out_charset 除了可以指定要转化到的编码以外,还可以增加两个后缀://TRANSLIT 和 //IGNORE。
其中://TRANSLIT 如果在目标编码中找不到与源编码相匹配的字符,会选择相似的字符进行转换;
//IGNORE 表示忽略不能转换的字符;
默认效果是从第一个非法字符截断并抛出一个E_NOTICE;
str为带转换的字符串;
如果转换失败就返回FALSE;
mb_convert_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 函数。
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 函数。
相关文章推荐
- PHP 解决采集乱码问题mb_convert_encoding和iconv使用比较 by cubeking
- PHP iconv()函数和mb_convert_encoding()函数的区别(关于字符编码的函数)
- php 转换字符串编码 iconv与mb_convert_encoding的区别说明
- PHP 中字符编码转换 iconv() 和 mb_convert_encoding() 的区别
- php 转换字符串编码 iconv与mb_convert_encoding的区别说明
- PHP iconv()函数和mb_convert_encoding()函数的区别(关于字符编码的函数)
- PHP字符串编码转码iconv与mb_convert_encoding用法和区别
- php中mb_convert_encoding 和 iconv 的区别
- PHP的内码转换函数 mb_convert_encoding()
- php 字符编码转换函数 iconv mb_convert_encoding比较
- php中iconv和mb_convert_encoding…
- (转)PHP下编码转换函数mb_convert_encoding与iconv的使用说明
- mb_convert_encoding()和iconv的区别
- php mb_convert_encoding的使用 乐杨俊
- PHP iconv()及mb_convert_encoding()字符编码转换(转)
- PHP mb_convert_encoding文字编码的转换函数介绍
- PHP下编码转换函数mb_convert_encoding与iconv的使用说明
- PHP mb_convert_encoding文字编码的转换函数介绍
- PHP下编码转换函数mb_convert_encoding与iconv区别
- PHP的内码转换函数 mb_convert_encoding()