iconv和mb_convert_encoding转码函数的区别
2010-10-11 02:04:59 来源:WEB开发网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)
用法:
iconv
string iconv ( string $in_charset , string $out_charset , string $str )
将字符串从一个指定的编码转换到另一个指定的编码. 需要注意的是:第二个参数,除了可以指定要转化到的编码以外,还可以增加两个后缀. //TRANSLIT 会自动将不能直接转化的字符变成一个或多个近似的字符,//IGNORE 会忽略掉不能转化的字符,而默认效果是从第一个非法字符截断,举例:
//将 "欢迎访问WEB开发网" 由gb2312编码转为 UTF-8编码 echo iconv('gb2312', 'utf-8, "欢迎访问WEB开发网");
PHP中使用iconv转码的小陷阱
发现iconv在转换字符”—”(ascii码150之后的字符)到gb2312时会出错,如果没有ignore参数,所有该字符后面的字符串都无法被保存。不管怎么样,这个”—”都无法转换成功,无法输出。 另外mb_convert_encoding没有这个bug.
一般情况下用 iconv,只有当遇到无法确定原编码是何种编码,或者iconv转化后无法正常显示时才用mb_convert_encoding 函数.
from_encoding is specified by character code name before conversion. it can be array or string - comma separated enumerated list. If it is not specified, the internal encoding will be used.
/* Auto detect encoding from JIS, eucjp-win, sjis-win, then convert str to UCS-2LE */
$str = mb_convert_encoding($str, “UCS-2LE”, “JIS, eucjp-win, sjis-win”);
/* “auto” is expanded to “ASCII,JIS,UTF-8,EUC-JP,SJIS” */
$str = mb_convert_encoding($str, “EUC-JP”, “auto”);
Tags:iconv mb_convert_encoding
编辑录入:coldstar [复制链接] [打 印]更多精彩
赞助商链接