当前位置:首页 > PHP教程 > php应用 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2021-04-26 11:53:27 浏览: 评论:0 

这篇文章主要介绍了PHP采用get获取url汉字出现乱码的解决方法,是很多PHP程序员都曾遇到的问题,非常具有实用价值,需要的朋友可以参考下

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

一、问题:

本来打算这样使用,代码如下:

  1. <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页面这样用,代码如下:

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

也就不会乱码和传递不正常了。

注意此处的接收GET页面编码需要和发送端一致!

关于string urlencode ( string $str )函数

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

示例1 urlencode(),代码如下:

  1. <?php 
  2. echo '<a href="mycgi?foo=', urlencode($userinput), '">'
  3. ?> 

示例2 urlencode() 与 htmlentities(),代码如下:

  1. <?php 
  2. $query_string = 'foo=' . urlencode($foo) . '&bar=' . urlencode($bar); 
  3. echo '<a href="mycgi?' . htmlentities($query_string) . '">'
  4. ?> 

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

Tags: get获取url汉字

分享到: