php url地址栏传中文乱码解决方法集合


Posted in PHP onJune 25, 2010

php地址栏传中文$_GET下来后乱码,urlencode和urldecode用法详解
url编码
语法: string urlencode(string str);
返回值: 字符串
函数种类: 编码处理
例如:

<?php
$ChineseName="我的名字,是中文的哦";
$EncodeStr=urlencode($ChineseName);
echo "<a href=/cgi/personal.cgi?name=$EncodeStr>我的名字</a>";
?>

url解码
还原 URL 编码字符串。
语法: string urldecode(string str);
返回值: 字符串
函数种类: 编码处理
例如:
对前面传过来的中文进行处理显示
<?php
$DecodeStr=urldecode($_GET['name']);//你可能不用解码都可以,因为浏览器会自动帮你解码
echo $DecodeStr;
?>

关于php用get方法从url上获得的中文乱码问题

使用$gonghui = iconv("gb2312","UTF-8",$gonghui);另一方法代码
/**
* 多字节字符串编码转换函数
*
* @param string str 需要进行编码转换的字符串
* @param string to_encoding 指定转换为某种编码,如:gb2312、gbk、utf-8等
* @param mixed from_encoding 混合指定原来字串的编码,如:同时指定 JIS, eucjp-win, sjis-win 混合编码
* @return string
string mb_convert_encoding ( string str, string to_encoding [, mixed from_encoding] )
**/
mb_convert_encoding 函数为php内部多字节字符串编码转换函数,可以在有需要的使用场合,几乎支持所有编码。PHP  >= 4.0.6、 5 版本支持。

直接获取 reg.php?gh=某某;

 //工会登入参

$gonghui = $_GET['gh'];

获得的$gonghui 为gb2312编码 输出到utf-8网页上显示乱码

改成

 //工会登入参数
 $gonghui = $_GET['gh'];
 $gonghui = mb_convert_encoding($gonghui, "UTF-8", "gb2312");

 就显示正常了

对整个页面进行转换

该方法适用所有编码环境。这样把前128个字符以外(显示字符)的字符集都用   NCR(Numeric character reference,如“汉字”将转换成“汉字”这种形式)来表示,这样的编码在任意编码环境下页面都能正 常显示。

在php文件的头部加上下面三行代码:

mb_internal_encoding("gb2312");  // 这里的gb2312是你网站原来的编码     
mb_http_output("HTML-ENTITIES");     
ob_start('mb_output_handler'); 

使用mb_convert_encoding 函数需启用PHP 的mbstring (multi-byte string)扩展。

如果没有没有开启php的mbstring扩展,则需要做如下设置,让php支持该扩展。

1、windows 服务器环境
编辑 php.ini 文件,将; extension=php_mbstring.dll 前面的 ; 去掉,重启网页服务器。

2、Linux服务器环境
在编译配置时加入 --enable-mbstring=cn 编译参数,再进行PHP的编译安装。

其它网友的第三个参考方法:
//方法一 urldecode
$url = 'aaa.php?region='.urldecode("四川省");
<a href="<?php echo $url;?>">aaa </a>

//方法二base64_encode

<?
$test="四川省";
$test1=base64_encode($test);
echo '<a href="3water.com?region=$test1">aaa </a>';
?>

另一页面使用base64_decode解开

base64_decode($region);

//方法三让服务器支持中文

[root@dhcp ~]# locale

lang=zh_cn.utf-8
lc_ctype="zh_cn.utf-8"
lc_numeric="zh_cn.utf-8"
lc_time=c
lc_collate=c
lc_monetary="zh_cn.utf-8"
lc_messages="zh_cn.utf-8"
lc_paper="zh_cn.utf-8"
lc_name="zh_cn.utf-8"
lc_address="zh_cn.utf-8"
lc_telephone="zh_cn.utf-8"
lc_measurement="zh_cn.utf-8"
lc_identification="zh_cn.utf-8"
lc_all=
[root@dhcp ~]#

PHP 相关文章推荐
html中select语句读取mysql表中内容
Oct 09 PHP
PHP MVC模式在网站架构中的实现分析
Mar 04 PHP
php函数的常用方法及注意之处小结
Jul 10 PHP
PHP5函数小全(分享)
Jun 06 PHP
php读取目录所有文件信息dir示例
Mar 18 PHP
php通过修改header强制图片下载的方法
Mar 24 PHP
PHP Streams(流)详细介绍及使用
May 12 PHP
CodeIgniter生成静态页的方法
May 17 PHP
用PHP写的一个冒泡排序法的函数简单实例
May 26 PHP
Yii CGridView用法实例详解
Jul 12 PHP
PHP iconv()函数字符编码转换的问题讲解
Mar 22 PHP
提高Laravel应用性能方法详解
Jun 24 PHP
PHP+ACCESS 文章管理程序代码
Jun 21 #PHP
php $_SERVER[&quot;REQUEST_URI&quot;]获取值的通用解决方法
Jun 21 #PHP
php自动加载的两种实现方法
Jun 21 #PHP
PHP定时自动生成静态HTML的实现代码
Jun 20 #PHP
PHP XML操作的各种方法解析(比较详细)
Jun 17 #PHP
PHP操作xml代码
Jun 17 #PHP
PHP XML error parsing SOAP payload on line 1
Jun 17 #PHP
You might like
谈谈PHP语法(4)
2006/10/09 PHP
PHP实现将几张照片拼接到一起的合成图片功能【便于整体打印输出】
2017/11/14 PHP
swoole_process实现进程池的方法示例
2018/10/29 PHP
Knockout text绑定DOM的使用方法
2013/11/15 Javascript
js 操作符汇总
2014/11/08 Javascript
JS实现自适应高度表单文本框的方法
2015/02/25 Javascript
canvas红包照片实例分享
2017/02/28 Javascript
jQuery实现多张图片上传预览(不经过后端处理)
2017/04/29 jQuery
js es6系列教程 - 新的类语法实战选项卡(详解)
2017/09/02 Javascript
JS解决IOS中拍照图片预览旋转90度BUG的问题
2017/09/13 Javascript
使用typescript构建Vue应用的实现
2019/08/26 Javascript
vue 实现通过vuex 存储值 在不同界面使用
2019/11/11 Javascript
React 条件渲染最佳实践小结(7种)
2020/09/27 Javascript
Python+django实现文件下载
2016/01/17 Python
Python+matplotlib绘制不同大小和颜色散点图实例
2018/01/19 Python
tensorflow实现简单的卷积神经网络
2018/05/24 Python
详解爬虫被封的问题
2019/04/23 Python
Django REST Framework之频率限制的使用
2019/09/29 Python
python、Matlab求定积分的实现
2019/11/20 Python
详解Python的三种拷贝方式
2020/02/11 Python
Python容器类型公共方法总结
2020/08/19 Python
python+selenium 简易地疫情信息自动打卡签到功能的实现代码
2020/08/22 Python
python使用smtplib模块发送邮件
2020/12/17 Python
分享8款纯CSS3实现的搜索框功能
2017/09/14 HTML / CSS
突袭HTML5之Javascript API扩展5—其他扩展(应用缓存/服务端消息/桌面通知)
2013/01/31 HTML / CSS
武汉瑞得软件笔试题
2015/10/27 面试题
机电一体化专业推荐信
2013/12/03 职场文书
销售总经理岗位职责
2014/03/15 职场文书
初二学习计划书范文
2014/04/27 职场文书
司法所长先进事迹
2014/06/02 职场文书
文明好少年事迹材料
2014/08/19 职场文书
2014年护理工作总结范文
2014/11/14 职场文书
详解CSS不受控制的position fixed
2021/05/25 HTML / CSS
SqlServer数据库远程连接案例教程
2021/07/15 SQL Server
Spring Boot项目传参校验的最佳实践指南
2022/04/05 Java/Android
mysql数据库实现设置字段长度
2022/06/10 MySQL