1、支持情况
|
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) |
2、用法:
- string mb_convert_encoding ( string str, string to_encoding [, mixed from_encoding] )
说明:需要先启用 mbstring 扩展库,在 php.ini里将; extension=php_mbstring.dll 前面的 ; 去掉
- string iconv ( string in_charset, string out_charset, string str )
说明:第二个参数,除了可以指定要转化到的编码以外,还可以增加两个后缀://TRANSLIT 和 //IGNORE,其中://TRANSLIT 会自动将不能直接转化的字符变成一个或多个近似的字符,//IGNORE 会忽略掉不能转化的字符,而默认效果是从第一个非法字符截断。Returns the converted string or FALSE on failure.
例如:
- $Al = iconv("UTF-8","GB2312"."//IGNORE",$Al);//忽略掉不能转化的字符
- $Al = iconv("UTF-8","GB2312"."//TRANSLIT",$Al);//动将不能直接转化的字符变成一个或多个近似的字符
- $Al = iconv("UTF-8","GB2312",$Al);//默认效果是从第一个非法字符截断
3、使用差异:
(1). 发现iconv在转换字符"-"到gb2312时会出错,如果没有ignore参数,所有该字符后面的字符串都无法被保存。不管怎么样,这个"-"都无法转换成功,无法输出。另外mb_convert_encoding没有这个bug.
(2). mb_convert_encoding 可以指定多种输入编码,它会根据内容自动识别,如:$str =mb_convert_encoding($str,"euc-jp","ASCII,JIS,EUC-JP,SJIS,UTF- 8");“ASCII,JIS,EUC-JP,SJIS,UTF-8”的顺序不同效果也有
(3).,执行效率mb_convert_encoding 比iconv差太多。
(4). 因执行效率的关系,一般情况下用iconv,只有当遇到无法确定原编码是何种编码,或者iconv转化后无法正常显示时才用mb_convert_encoding 函数。如:
- $str = mb_convert_encoding($str, "UCS-2LE", "JIS, eucjp-win, sjis-win");
- $str = mb_convert_encoding($str, "EUC-JP', "auto");
4、使用示例
- $AL = iconv("GBK", "UTF-8", $AL);
- $AL = mb_convert_encoding($AL, "UTF-8", "GBK");

RSS订阅
评论加载中....
文章评论(查看全部)