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类的反射用法。分享给大家供大家参考。具体实现方法如下: 该例实现对于每个频道获取相应的类来执行相应的操作。具体如下: 复制代码 代码如下:foreach($this-...

PHP消息队列实现及应用详解【队列处理订单系统和配送系统】

PHP消息队列实现及应用详解【队列处理订单系统和配送系统】

本文实例讲述了PHP消息队列实现及应用。分享给大家供大家参考,具体如下:在互联网项目开发者经常会遇到『给用户群发短信』、『订单系统有大量的日志需要记录』或者在秒杀业务的时候服务器无法承受瞬...

Zend Studio去除编辑器的语法警告设置方法

Zend Studio去除编辑器的语法警告设置方法

环境:Zend Studio 8.0 Zend Studio是PHP开发者的首选开发工具,其地位相当于微软开发工具中的Visual Studio。Zend Studio的编辑器可以帮我...

图文详解phpstorm配置Xdebug进行调试PHP教程

图文详解phpstorm配置Xdebug进行调试PHP教程

phpstorm配置Xdebug进行调试PHP教程分享给大家,具体内容如下 运行环境: PHPSTORM版本 : 8.0.1 PHP版本 : 5.6.2 xdebug版本:php_xde...

php写入数据到CSV文件的方法

本文实例讲述了php写入数据到CSV文件的方法。分享给大家供大家参考。具体实现方法如下: <?php $row = 0; ini_set('max_execution_...