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

yipeiwu_com6年前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 cookie中点号(句号)自动转为下划线问题

php cookie中不能使用点号(句号),实际上不是很严格,应该说可以使用点号的cookie名,但会被转换,你命名一个cookie: $_COOKIE[‘my.name'] = 1;...

PHP函数篇详解十进制、二进制、八进制和十六进制转换函数说明

一,十进制(decimal system)转换函数说明 1,十进制转二进制 decbin() 函数,如下实例 echo decbin(12); //输出 1100 echo decbin...

php中截取字符串支持utf-8

截取字符串 <?php $string="2006年4月我又长大了一岁!"; echo substr($string,1)."...";   //截取...

PHP使用glob函数遍历目录或文件夹的方法

本文实例讲述了PHP使用glob函数遍历目录或文件夹的方法。分享给大家供大家参考。具体分析如下: 一说到php遍历目录我们很多朋友会想到是opendir与readdir,这样就可以遍历目...

火车采集器 免费版使出收费版本功能实现原理

hi 各位免费火车头采集器的采友: 火车头免费版本不支持采集结果的外挂处理,比如采用php来辅助处理结果,而火车头本身对于正则表达式的不完整支持, 导致对于采集一些有混淆文字的内容效果不...