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微信支付接口开发程序讲解: 必要条件: appid //公众号后台开发者中心获得(和邮件内的一样)   mchid//邮件内获得  key//商户后台...

PHP实现在线阅读PDF文件的方法

本文实例讲述了PHP实现在线阅读PDF文件的方法。分享给大家供大家参考。具体实现方法如下: <?php if(!function_exists('read_pdf'))...

php 面向对象的一个例子

复制代码 代码如下: <?php class person{ //下面是人的成员属性 var $name; //人的名字 var $sex; //人的性别 var $age; //...

php实现最简单的MVC框架实例教程

本文以一个实例的形式讲述了PHP实现MVC框架的过程,比较浅显易懂。现分享给大家供大家参考之用。具体分析如下: 首先,在学习一个框架之前,基本上我们都需要知道什么是mvc,即model-...

PHP之sprintf函数用法详解

本文实例讲述了PHP中sprintf函数的用法。分享给大家供大家参考。具体用法分析如下: sprintf()函数在php官方是说把字符串格式化输出了,本文就来给各位朋友介绍一下在学习sp...