PHP iconv 函数转gb2312的bug解决方法_PHP
程序员文章站
2022-06-03 19:22:30
...
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就不用作转换了
ignore的意思是忽略转换时的错误,发现iconv在转换字符"—"到gb2312时会出错,如果没有ignore参数,所有该字符后面的字符串都无法被保存。
另外mb_convert_encoding没有这个bug,所以最好的写法是:
mb_convert_encoding($FormValues['a'], "gb2312", "UTF-8");
但是需要先enable mbstring 扩展库。
也可以把mysql数据库的collation设成utf-8就不用作转换了
推荐阅读
-
PHP file_get_contents函数读取远程数据超时的解决方法
-
PHP中iconv函数转码时截断字符问题的解决方法
-
php中json_encode处理gbk与gb2312中文乱码问题的解决方法
-
PHP iconv 函数转gb2312的bug解决方法
-
php中mail函数发送邮件失败的解决方法
-
PHP下编码转换函数mb_convert_encoding与iconv的使用说明
-
PHP实现字符串大小写转函数的功能实例
-
PHP is_subclass_of函数的一个BUG和解决方法
-
php5.2以下版本无json_decode函数的解决方法
-
PHP提示Warning:phpinfo() has been disabled函数禁用的解决方法