欢迎来到福编程网,本站提供各种互联网专业知识!

PHP iconv 函数转gb2312的bug解决方法

发布时间:2009-10-11 作者: 来源:转载
之前写过一篇解决xajax库中文乱码的问题,说到可以用iconv("UTF-8","gb2312",$FormValues['a'])来转换,最近发现更好的写法应该是。
iconv( "UTF-8", "gb2312//IGNORE" , $FormValues['a'])

ignore的意思是忽略转换时的错误,发现iconv在转换字符"—"到gb2312时会出错,如果没有ignore参数,所有该字符后面的字符串都无法被保存。

另外mb_convert_encoding没有这个bug,所以最好的写法是:

mb_convert_encoding($FormValues['a'], "gb2312", "UTF-8");

但是需要先enable mbstring 扩展库。

也可以把mysql数据库的collation设成utf-8就不用作转换了

相关推荐