在php中解决字符编码转换,可以编写自定义的php函数进行字符编码解码,但是对性能有一定影响,并且要针对每种字符编码编写专用的函数; 这里介绍在php中有简便易用的专用函数:
1.使用iconv函数转换字符编码,该函数仅能在PHP4.0.5以上版本或PHP5.x版本使用,具体用法如下:
$string=iconv(原字符编码, 字符输出编码, $string);
例如:网页使用gbk编码,字符串使用utf-8编码,将字符转换为网页显示编码。
echo iconv("uft-8", "gbk", "php编码转换");
在实际使用中,iconv函数在转换时存在一点小bug,在转换字符串中含有"—"时会出错,导致字符串无法转换,使用//IGNORE参数可以忽略转换中的字符错误,样例如下:
echo iconv("uft-8", "gbk//IGNORE", "php编码转换");
2.使用mb_convert_encoding函数,该函数仅能在PHP4.0.6以上版本或PHP5.x版本使用,使用之前必须enable mbstring,具体用法如下:
$string=mb_convert_encoding($string, 字符输出编码, 原字符编码);
例如:网页使用gbk编码,字符串使用utf-8编码,将字符转换为网页显示编码。
echo mb_convert_encoding("php编码转换", "gbk", "utf-8");
总结:推荐使用mb_convert_encoding函数,该函数无iconv转换字符错误问题。
延伸阅读coded by nessus