编码转换 mb_convert_encoding 和 iconv 的区别

mb_convert_encoding的用法:
http://cn.php.net/manual/zh/function.mb-convert-encoding.php

iconv的用法:

https://www.php.net/manual/zh/function.iconv.php

 

例子:GBK转utf8

 

mb_convert_encoding("别来无恙", "UTF-8", "GBK"); 

编码后的 string。 成功时返回编码后的 string 或 array, 或者在失败时返回 false

 

iconv('GBK','UTF-8','别来无恙');

返回转换后的字符串, 或者在失败时返回 false

 

区别:

1. 要使用mb_convert_encoding需要安装但是需要先enable mbstring 扩展库。

2. mb_convert_encoding可以不指定第二个参数from_encoding,不指定默认使用内部编码

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

iconv效率更高,当遇到无法确定原编码是何种编码,或者iconv转化后无法正常显示时才用mb_convert_encoding 函数

上一篇:十六进制转字符串


下一篇:PHP导出csv 注意事项