php get请求出现中文乱码怎么办 – 云计算优惠

您所在的位置:网站首页 get请求中文乱码解决 php get请求出现中文乱码怎么办 – 云计算优惠

php get请求出现中文乱码怎么办 – 云计算优惠

2022-03-26 11:58| 来源: 网络整理| 查看: 265

php get请求出现中文乱码怎么办

❕ 2020-08-24 技术文章 162

阿里云新用户专享 领取限量2000元代金券

限量爆款选购 2核8G内存5M带宽3000元/3年

学生用户专属 18-24岁用户直享¥9.5/月

全民上云优选 新老用户均可购买低至17元/月

企业级应用一折起购 稳定,可靠企业级独享实例

多产品一键采购 购物车采购可减5000元

ECS 云服务器 SWAS 轻量应用服务器 RDS 云数据库 Redis 云数据库 CDN 内容分发 OSS 对象存储 SLB 负载均衡 NAT 网关 DNS 云解析 MAIL 企业邮箱 WAF 应用防火墙 DDoS 高防 SMS 短信包 MK 云市场 XIN 心选 IM 商标注册 JZ 自营建站

php get请求中文乱码的解决办法:1、使用【$name = iconv("gbk","utf-8",$name);】方法解决乱码;2、通过【mb_convert_encoding($name, "utf-8", "gbk");】方法。

php get请求出现中文乱码怎么办

推荐:《PHP视频教程》

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

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

首先先来看下简单的测试代码:

测试结果如下:

php get请求出现中文乱码怎么办

代码中声明了响? h e应内容的编码为utf-8,显示的内容确实a 5 + )乱码。在这里请注意var_dump出变量: | C } r 0 d g的长度只有4 ,很显然,两个中文字的长度在utf-8编码下肯定不止4个字节,然后s z O ^ 8 x @ u f我们再看一下Fy e 5irefox的访问这个页面url

php get请求出现中文乱码怎么办

FireFl K ; [ox会自动将中文url编码,所以我们可以看到测试变成了%B2%E2%CA%D4,很明显,这里一个字是两个字节,是gb23. 1 F13、gbk等中1 Z文编码格式,而不是utf-8编码L 8 i L。如果我们把P = Y & O 2 )页面的编码切换为gbk,中文参数就会显示正常,参见下图

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

a j r;?php header("Content-Type:text/html;charset=UT h e dF-8"); $name = $_GET[` K D'name']; var_dump($name); ?>

测试结果,正常显示:

php get请求出现中文乱码怎么办

那么,是什么导致这个问题的发生呢?

答案是浏览器默认编码在作怪,我们都用的是中文系统,浏览器默认的编码自然也会设置为本地化,例如我自己电脑上的IE和FireFox的默认编码都是gb系列的。

浏览器在请求用户输入的url 时会默认把url中的中文以默认的编码格式发送而不是以页面的编码格式发送,这就是为什么页面中带有中文的链接正常而我们手动输入的链接

会乱码的原因。同理,如果我们# C } X把浏览器的默认编码调整为utf-8,那么输入url中的中文则会按照utf-8编码。K 4 v ; P =

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

如果gbk编码3 i ( # @的页面生成的地址链接到utf-8的页面,gbk页面的中文是按8 E ! e C s照gbk的格式编c u O 9 i码传送给下个页面,那么utf-8编码接收后肯定会出现乱码。

IIS的url重写U l ? s E D模块,重写后的中文编码也2 m D /是gbk,如果你的页面是utf-8编码,那么重写参数将会失效。像这些情况,我们就需要使用php内置的转码函数来处理编码问题了:

方案1:8 2 N ~ } i

$nr E } u H m , & Iame = iconv("gbk","utf-8",$name);

方案2:

mb_0 U * ` ] p Dc( c { ?onvert_encoding($name, "utf-8", "gbk");

以上就是php get请求出现中文乱码怎么办Q & = .的详细内容。

标签:charset php 中文 乱码 代码 地址 是什么呢 经验 请求

ECS 云服务器 SWAS 轻量应用服务器 RDS 云数据库 Redis 云数据库 CDN 内容分发 OSS 对象存储 SLB 负载均衡 NAT 网关 DNS 云解析 MAIL 企业邮箱 WAF 应用防火墙 DDoS 高防 SMS 短信包 MK 云市场 XIN 心选 IM 商标注册 JZ 自营建站 最后编辑:2020/8/24编辑:❕ ❕

致力于分享云主机服务器相关的优惠信息

阅读 ❕ 的其他文章 上一篇: php如何去除数组下标 下一篇: 宝塔面板重大安全漏洞事故!站长需要紧急安全更新(附方案)


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3