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

yipeiwu_com6年前PHP代码库
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就不用作转换了

相关文章

php获取系统变量方法小结

本文实例讲述了php获取系统变量的方法。分享给大家供大家参考。具体如下: 这里通过一些php内置函数获得各种系统变量。 $v = get_defined_vars();//返回由所有...

php引用计数器进行垃圾收集机制介绍

PHP 有一个非常简单的垃圾收集器,它实际上将对不再位于内存范围(scope)中的对象进行垃圾收集。垃圾收集的内部方式是使用一个引用计数器,因此当计数器达到 0 时(意味着对该对象的引用...

PHP记录搜索引擎蜘蛛访问网站足迹的方法

本文实例讲述了PHP记录搜索引擎蜘蛛访问网站足迹的方法。分享给大家供大家参考。具体分析如下: 搜索引擎的蜘蛛访问网站是通过远程抓取页面来进行的,我们不能使用JS代码来取得蜘蛛的Agent...

关于初学PHP时的知识积累总结

PHP基础一、初识PHPPHP是与HTML混合使用的嵌入式语言。1、PHP标记默认标记<?php ?> 短标记<? ?>,需在php.ini中将short_ope...

PHP小偷程序的设计与实现方法详解

本文实例讲述了PHP小偷程序的设计与实现方法。分享给大家供大家参考,具体如下: 其实自己一直想做一个内涵图片的网站,以前的想法是做一个CMS,然后自己上传一些图片。。 开始真这么做的,没...