WEB开发网
开发学院WEB开发PHP iconv和mb_convert_encoding转码函数的区别 阅读

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,

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 会忽略掉不能转化的字符,而默认效果是从第一个非法字符截断,举例:

php;">
//将 "欢迎访问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”);

1 2  下一页

Tags:iconv mb_convert_encoding

编辑录入:coldstar [复制链接] [打 印]
赞助商链接