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中如何直接执行SHELL

$message=shell_exec("sudo /usr/local/webserver/nginx/sbin/nginx -t 2>&1");echo "运行结果:".$me...

又一个php 分页类实现代码

复制代码 代码如下:<?php function genpage(&$sql,$page_size=10) { global $pages,$sums,$eachpage,$pag...

php中使用__autoload()自动加载未定义类的实现代码

下面是一段使用__autoload()的代码,供大家学习参考: 复制代码 代码如下:<?php/*** 自动加载相关类库文件*/function __autoload($class...

不用mod_rewrite直接用php实现伪静态化页面代码

在你的程序初始化时使用如下代码: 复制代码 代码如下:<?php $Php2Html_FileUrl = $_SERVER["REQUEST_URI"]; $Php2Ht...

PHP检查网站是否宕机的方法示例

本文实例讲述了PHP检查网站是否宕机的方法。分享给大家供大家参考,具体如下: <?php function Networkcheck($url){ $agent =...