编码转换 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 函数
标签:编码,convert,mb,encoding,iconv,php 来源: https://www.cnblogs.com/alwaysontheroad/p/14964430.html