php中传参数会乱码的原因有哪些

这篇文章主要为大家展示了“php中传参数会乱码的原因有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“php中传参数会乱码的原因有哪些”这篇文章吧。

php传参数会乱码是因为编码不一致,其解决办法就是修改使用uft-8编码,其修改代码如“mb_detect_encoding($typeName,'CP936,UTF-8')”。

本文操作环境:Windows7系统,PHP7.1版,Dell G3电脑。

php参数乱码解决

网站项目使用gb2312作为项目编码的时候,由于不同浏览器对中文字符的编码可能不同,有的会将中文编码为网站编码,有的会把中文编码为utf-8,在后台接收参数的时候就会发生乱码的错误。一个比较好的解决方案是对参数中的中文字符进行编码的识别,如果不是gb2312就进行转化。

$typeName = $_GET['typeName'];
$encode =  mb_detect_encoding($typeName,'CP936,UTF-8') ;
//如果是CP936,就是gbk编码,如果是UTF-8, 就是utf-8编码
if ($encode =='UTF-8') {
    //再调用转换成utf-8编码的函数,最终确保是utf-8
    $typeName = iconv("utf-8","gb2312",$typeName);
}

为了网站编码问题和以后的拓展还是建议使用uft-8编码


以上是“php中传参数会乱码的原因有哪些”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!