PHP采用get获取url汉字出现乱码的解决方法

前端技术 2023/09/08 PHP

本文实例讲述了PHP采用get获取url汉字出现乱码的解决方法。分享给大家供大家参考。具体方法如下:

一、问题:

本来打算这样使用

复制代码 代码如下:
<a href=\"list.php?plate=辖区动态\" charset=\"utf-8\" target=\"main\">[查看辖区动态]</a>

结果在list.php页面得到的是—–查看[辖区动怿]
一开始猜想可能是汉字的“态\"这个编码和某些东西冲突了,所以出现乱码。

二、解决方法:

使用:

复制代码 代码如下:
<a href=\"list.php?plate=<?php echo urlencode(\"辖区动态\");?>\" charset=\"utf-8\" target=\"main\">[查看]</a>

然后在list.php页面这样用
复制代码 代码如下:

<?php
header(\"Content-type: text/html; charset=utf-8\");
if($_GET[\'plate\'])
echo $plate=urldecode($_GET[\'plate\']);
?>

也就不会乱码和传递不正常了。
注意此处的接收GET页面编码需要和发送端一致!

关于string urlencode ( string $str )函数

此函数便于将字符串编码并将其用于 URL 的请求部分,同时它还便于将变量传递给下一页。
示例1 urlencode()

复制代码 代码如下:
<?php
echo \'<a href=\"mycgi?foo=\', urlencode($userinput), \'\">\';
?>

示例2 urlencode() 与 htmlentities()
复制代码 代码如下:
<?php
$query_string = \'foo=\' . urlencode($foo) . \'&bar=\' . urlencode($bar);
echo \'<a href=\"mycgi?\' . htmlentities($query_string) . \'\">\';
?>

希望本文所述对大家的PHP程序设计有所帮助。

本文地址:https://www.stayed.cn/item/21808

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。