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中,文件上传
Dec 06 PHP
php include加载文件两种方式效率比较
Aug 08 PHP
php中防止SQL注入的最佳解决方法
Apr 25 PHP
免费手机号码归属地API查询接口和PHP使用实例分享
Apr 10 PHP
使用PHP函数scandir排除特定目录
Jun 12 PHP
跟我学Laravel之配置Laravel
Oct 15 PHP
PHP的PDO常用类库实例分析
Apr 07 PHP
php处理单文件、多文件上传代码分享
Aug 24 PHP
微信公众号OAuth2.0网页授权问题浅析
Jan 21 PHP
PHP实现时间比较和时间差计算的方法示例
Jul 24 PHP
php实现的统计字数函数定义与使用示例
Jul 26 PHP
php使用pecl方式安装扩展操作示例
Aug 12 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
神族 Protoss 剧情介绍
2020/03/14 星际争霸
php环境配置 php5 MySQL5 apache2 phpmyadmin安装与配置图文教程
2007/03/16 PHP
php数组函数序列之array_values() 获取数组元素值的函数与方法
2011/10/30 PHP
基于Jquery的动态添加控件并取值的实现代码
2010/09/24 Javascript
firefox下input type=&quot;file&quot;的size是多大
2011/10/24 Javascript
extjs表格文本启用选择复制功能具体实现
2013/10/11 Javascript
javascript对象的使用和属性操作示例详解
2014/03/02 Javascript
JavaScript字符串对象fromCharCode方法入门实例(用于把Unicode值转换为字符串)
2014/10/17 Javascript
node.js中watch机制详解
2014/11/17 Javascript
node.js中的http.createClient方法使用说明
2014/12/15 Javascript
jQuery实现气球弹出框式的侧边导航菜单效果
2015/09/22 Javascript
AngularJS基础 ng-mouseover 指令简单示例
2016/08/02 Javascript
jQuery Form表单取值的方法
2017/01/11 Javascript
Angularjs 1.3 中的$parse实例代码
2017/09/14 Javascript
JS实现碰撞检测的方法分析
2018/01/19 Javascript
nodejs连接mysql数据库及基本知识点详解
2018/03/20 NodeJs
详解nvm管理多版本node踩坑
2019/07/26 Javascript
[03:48]2014DOTA2 TI专访71DK夺冠不靠小组赛高排名
2014/07/11 DOTA
python实现通过pil模块对图片格式进行转换的方法
2015/03/24 Python
使用python实现正则匹配检索远端FTP目录下的文件
2015/03/25 Python
python 队列详解及实例代码
2016/10/18 Python
python读取excel表格生成erlang数据
2017/08/26 Python
python书籍信息爬虫实例
2018/03/19 Python
Python Pywavelet 小波阈值实例
2019/01/09 Python
Python爬虫 bilibili视频弹幕提取过程详解
2019/07/31 Python
python 的numpy库中的mean()函数用法介绍
2020/03/03 Python
获取python运行输出的数据并解析存为dataFrame实例
2020/07/07 Python
2014年安全保卫工作总结
2014/11/13 职场文书
2014年员工工作总结范文
2014/11/18 职场文书
婚宴邀请函
2015/01/30 职场文书
2015年挂职干部工作总结
2015/05/14 职场文书
婚礼领导致辞大全
2015/07/28 职场文书
员工手册董事长致辞
2015/07/29 职场文书
教师素质教育心得体会
2016/01/19 职场文书
入门学习Go的基本语法
2021/07/07 Golang
Python 全局空间和局部空间
2022/04/06 Python