PHP采用get获取url汉字出现乱码的解决方法
投稿:shichen2014
这篇文章主要介绍了PHP采用get获取url汉字出现乱码的解决方法,是很多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), '">';
?>
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) . '">';
?>
$query_string = 'foo=' . urlencode($foo) . '&bar=' . urlencode($bar);
echo '<a href="mycgi?' . htmlentities($query_string) . '">';
?>
希望本文所述对大家的PHP程序设计有所帮助。
您可能感兴趣的文章:
- 完美解决PHP中文乱码
- PHP MYSQL乱码问题,使用SET NAMES utf8校正
- php url地址栏传中文乱码解决方法集合
- PHP substr 截取字符串出现乱码问题解决方法[utf8与gb2312]
- 二招解决php乱码问题
- PHP乱码问题,UTF-8乱码常见问题小结
- php和mysql中uft-8中文编码乱码的几种解决办法
- 基于PHP导出Excel的小经验 完美解决乱码问题
- php读取mysql中文数据出现乱码的解决方法
- PHP页面中文乱码分析
- php上传文件中文文件名乱码的解决方法
- php file_get_contents抓取Gzip网页乱码的三种解决方法
- php截取中文字符串不乱码的方法
- php导入csv文件碰到乱码问题的解决方法
- phpmailer中文乱码问题的解决方法
- PHP base64编码后解码乱码的解决办法
- php中json_encode UTF-8中文乱码的更好解决方法
- php使用fgetcsv读取csv文件出现乱码的解决方法
- phpstorm编辑器乱码问题解决
- php的GD库imagettftext函数解决中文乱码问题
- php上传中文文件名乱码问题处理方案
- PHP中文乱码解决方案
- php读取der格式证书乱码解决方法
- PHP+MYSQL中文乱码问题
- PHP页面转UTF-8中文编码乱码的解决办法