需要快速收录的请联系QQ:2303230985
当前位置:SEO网站目录 » 站长资讯 » 站长联盟 » 文章详细 订阅RssFeed

php接收GET方法传入的中文参数乱码深究

来源:moon's blog 浏览:1982次 时间:2015-11-04

最近写了个简单的页面,从浏览器中传入中文参数(test.php?name=测试),不论怎么设置utf-8的页面中都显示乱码,google了一把也查到了不少解决办法,但是问题的原因到底是什么呢?没有人深入研究这个问题。出于好奇便要好好查查到底是什么原因导致,也算涨点经验!
首先先来看下简单的测试代码:

  1. <!--?php  
  2. header("Content-Type:text/html;charset=UTF-8");   
  3. $name = $_GET['name'];   
  4. var_dump($name);   
  5. ?>  

测试结果如下:







代码中声明了响应内容的编码为utf-8,显示的内容确实乱码。在这里请注意var_dump出变量的长度只有4 ,很显然,两个中文字的长度在utf-8编码下肯定不止4个字节,然后我们再看一下Firefox的访问这个页面url







FireFox会自动将中文url编码,所以我们可以看到测试变成了%B2%E2%CA%D4,很明显,这里一个字是两个字节,是gb2313、gbk等中文编码格式,而不是utf-8编码。如果我们把页面的编码切换为gbk,中文参数就会显示正常,参见下图







接下来我们做另外一个测试,代码如下:

  1. <!--?php   
  2. header("Content-Type:text/html;charset=UTF-8");   
  3. $name = $_GET['name'];   
  4. var_dump($name);   
  5. ?>   
  6.   
  7. "GET">   
  8. "name" />   
  9. "submit" value="输入中文提交" />   
  10.   

测试结果,正常显示:







那么,是什么导致这个问题的发生呢?
答案是浏览器默认编码在作怪,我们都用的是中文系统,浏览器默认的编码自然也会设置为本地化,例如我自己电脑上的IE和FireFox的默认编码都是gb系列的。
浏览器在请求用户输入的url 时会默认把url中的中文以默认的编码格式发送而不是以页面的编码格式发送,这就是为什么页面中带有中文的链接正常而我们手动输入的链接

会乱码的原因。同理,如果我们把浏览器的默认编码调整为utf-8,那么输入url中的中文则会按照utf-8编码。

除了上面的之外,还有以下情况会出现这种情况:

如果gbk编码的页面生成的地址链接到utf-8的页面,gbk页面的中文是按照gbk的格式编码传送给下个页面,那么utf-8编码接收后肯定会出现乱码。
IIS的url重写模块,重写后的中文编码也是gbk,如果你的页面是utf-8编码,那么重写参数将会失效。像这些情况,我们就需要使用php内置的转码函数来处理编码问题了:

方案1:

  1. $name = iconv("gbk","utf-8",$name);  

方案2:

  1. mb_convert_encoding($name"utf-8""gbk");  


本文地址转载自http://www.92csz.com/03/986.html

最新点入

  • 阳光游戏阳光游戏

    阳光游戏网为玩家提供新的网络游戏,单机游戏,手机游戏,手游等资源,经过多年努力已成为游戏玩家首要选择的游戏资讯、游戏资源网站。

    www.shiciwang.com.cn
  • 站长交易平台站长交易平台

    2898站长资源平台作为站长资源交换平台,致力于为广大站长和网站运营人员提供最方便、最快捷的站长资讯、站长交易、链接交易、链接交换、资源交换等服务。

    www.2898.com
  • 香香腐宅_官网入口香香腐宅_官网入口

    香香腐宅平台最新版是一款备受漫画爱好者喜爱的阅读软件,它为用户提供了海量的漫画资源,香香腐宅官网涵盖了各种题材和类型,让用户能够轻松找到自己喜欢的漫画www.boylove88.com。

    www.boylove88.com
  • 全球網址提交網全球網址提交網

    全球網址提交網是全免費的網址提交目錄,收錄國內外、各行業優秀網站,為用戶提供全面的網站分類目錄網站、優秀網站參攷、友情連結交換平臺、網站推廣服務國內免費的網站提交入口(www.urlglobalsubmit.com)。

    www.urlglobalsubmit.com
  • 国际电子商务网国际电子商务网

    欢迎访问国际电子商务网,这里有各行业信息网/B2B电子商务网站,是最方便的免费网络推广平台,已成为无数商家网络营销/网络推广的首选网站!

    www.intbtb.com

推荐站点

  • BOSS直聘BOSS直聘

    BOSS直聘是权威领先的招聘网,开启人才网招聘求职新时代,招聘求职找工作,上BOSS直聘,直接谈!

    https://www.zhipin.com
  • 国聘招聘平台国聘招聘平台

    国聘招聘平台集成校园招聘和社会招聘等主渠道,通过多终端互联呈现,为企业提供信息发布、简历管理、线上笔面试、网络测评、云端咨询、背景审核等“一揽子”综合服务;为求职者提供信息真实、功能完整、环境友好、操作简便的平台界面;用放心、专心、热心的服务,高效匹配用人单位和求职者。

    https://www.iguopin.com/
  • 就业在线就业在线

    就业在线平台是由人力资源社会保障部组织建设的国家级招聘求职服务平台。汇聚各地、各类人力资源服务机构“旗舰店”,发挥公共就业人才服务机构和经营性人力资源服务机构作用,实现招聘求职信息实时、全面汇聚、共享和发布,支持跨区域、跨层级开展招聘求职服务。

    https://www.jobonline.cn/
  • 兼职猫app兼职猫app

    兼职猫是一个真实、可靠的兼职招聘平台,为广大学生、蓝领免费提供安全、靠谱的兼职工作信息,帮助求职者快速找到适合的岗位,找兼职就上兼职猫。

    https://www.jianzhimao.com/
  • 青团社兼职青团社兼职

    青团社兼职——找兼职,招兼职,全国大学生免费兼职服务平台。青团社兼职是国内首家免费兼职平台,为大学生提供海量安全兼职招聘信息,有高薪兼职、日结兼职、附近兼职、周末兼职各类兼职模块。更与世界500名企强强联合,为学生提供优质的兼职岗位。青团社兼职免费赠送兼职保险,为每一位兼职用户提供安全保障。找兼职,上青团社兼职!

    https://www.qtshe.com/