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

yipeiwu_com5年前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程序设计有所帮助。

相关文章

PHP乱码问题,UTF-8乱码常见问题小结

一.HTML页面转UTF-8编码问题 1.在head后,title前加入一行: <meta http-equiv='Content-Type' content='text/html...

两种php去除二维数组的重复项方法

php去掉二维数组的重复值的方法总结,具体代码如下: 方法一: //二维数组去掉重复值 function array_unique_fb($array2D){ foreach (...

详解PHP匿名函数与注意事项

php5.3不但引进了匿名函数还有更多更好多新的特性了,下面我们一起来了解一下PHP匿名函数与注意事项,具体内容如下 PHP5.2 以前:autoload, PDO 和 MySQLi,...

PHP中Cookie的使用详解(简单易懂)

PHP中Cookie的使用---添加/更新/删除/获取Cookie 及 自动填写该用户的用户名和密码和判断是否第一次登陆 什么是cookie 服务器在客户端保存用户的信息,比如登录名,密...

PHP函数checkdnsrr用法详解(Windows平台用法)

本文实例讲述了PHP函数checkdnsrr用法。分享给大家供大家参考,具体如下: 在php.net上是这样说的: (PHP 4, PHP 5) checkdnsrr — Check D...