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 相关文章推荐
PHP 超链接 抓取实现代码
Jun 29 PHP
PHP 第三节 变量介绍
Apr 28 PHP
php分页思路以及在ZF中的使用
May 30 PHP
PHP代码优化的53个细节
Mar 03 PHP
PHP+FFMPEG实现将视频自动转码成H264标准Mp4文件
Sep 24 PHP
php实现excel中rank函数功能的方法
Jan 20 PHP
PHP简单获取视频预览图的方法
Mar 12 PHP
Yaf框架封装的MySQL数据库操作示例
Mar 06 PHP
php链式操作的实现方式分析
Aug 12 PHP
php下的原生ajax请求用法实例分析
Feb 28 PHP
php设计模式之模板模式实例分析【星际争霸游戏案例】
Mar 24 PHP
关于PhpStorm设置点击编辑文件自动定位源文件的实现方式
Dec 30 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和ACCESS写聊天室(四)
2006/10/09 PHP
PHP 计算代码执行耗时的代码修正网上普遍错误
2011/05/14 PHP
PHP常用开发函数解析之数组篇[未完结]
2012/07/30 PHP
PHP引用(&amp;)各种使用方法实例详解
2014/03/20 PHP
详解PHP中的Traits
2015/07/29 PHP
使用PHP实现微信摇一摇周边红包
2016/01/04 PHP
给大家分享几个常用的PHP函数
2017/01/15 PHP
Alliance vs AM BO3 第一场2.13
2021/03/10 DOTA
使用js完成节点的增删改复制等的操作
2014/01/02 Javascript
javascript学习笔记--数字格式类型
2014/05/22 Javascript
ie 7/8不支持trim的属性的解决方案
2014/05/23 Javascript
JavaScript获取一个范围内日期的方法
2015/04/24 Javascript
实例详解angularjs和ajax的结合使用
2015/10/22 Javascript
javascript时间差插件分享
2016/07/18 Javascript
js初始化验证实例详解
2016/11/26 Javascript
微信小程序实现自定义picker选择器弹窗内容
2020/05/26 Javascript
解决vue-router在同一个路由下切换,取不到变化的路由参数问题
2018/09/01 Javascript
一个Java程序猿眼中的前后端分离以及Vue.js入门(推荐)
2019/04/19 Javascript
javaScript中indexOf用法技巧
2019/11/26 Javascript
javascript实现贪吃蛇小练习
2020/07/05 Javascript
Win7上搭建Cocos2d-x 3.1.1开发环境
2014/07/03 Python
Python随机生成手机号、数字的方法详解
2017/07/21 Python
Python continue继续循环用法总结
2018/06/10 Python
python控制nao机器人身体动作实例详解
2019/04/29 Python
Python迷宫生成和迷宫破解算法实例
2019/12/24 Python
详解python tkinter模块安装过程
2020/01/06 Python
Python-jenkins模块获取jobs的执行状态操作
2020/05/12 Python
CSS3的新特性介绍
2008/10/31 HTML / CSS
通过canvas转换颜色为RGBA格式及性能问题的解决
2019/11/22 HTML / CSS
Haggar官网:美国男装品牌
2020/02/16 全球购物
幼儿园保育员辞职信
2014/01/12 职场文书
父亲的菜园教学反思
2014/02/13 职场文书
2014年计生工作总结
2014/11/21 职场文书
护士自荐信范文(2016推荐篇)
2016/01/28 职场文书
详解Python魔法方法之描述符类
2021/05/26 Python
mysql获取指定时间段中所有日期或月份的语句(不设存储过程,不加表)
2021/06/18 MySQL