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 无限极分类
Mar 27 PHP
兼容性最强的PHP生成缩略图的函数代码(修改版)
Jan 18 PHP
php重定向的三种方法分享
Feb 22 PHP
PHP使用header()输出图片缓存实例
Dec 09 PHP
php自动载入类用法实例分析
Jun 24 PHP
php简单统计中文个数的方法
Sep 30 PHP
php遍历、读取文件夹中图片并分页显示图片的方法
Nov 15 PHP
php在windows环境下获得cpu内存实时使用率(推荐)
Feb 08 PHP
不常用但很实用的PHP预定义变量分析
Jun 25 PHP
php apache开启跨域模式过程详解
Jul 08 PHP
PHP pthreads v3在centos7平台下的安装与配置操作方法
Feb 21 PHP
PHP强制转化的形式整理
May 22 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 5.2.14+fpm+memcached(具体操作详解)
2013/06/18 PHP
php中把美国时间转为北京时间的自定义函数分享
2014/07/28 PHP
讨论javascript(一)工厂方式 js面象对象的定义方法
2009/12/15 Javascript
javascript 函数及作用域总结介绍
2013/11/12 Javascript
jQuery之过滤元素操作小结
2013/11/30 Javascript
JS延迟加载加快页面打开速度示例代码
2013/12/30 Javascript
jquery操作cookie插件分享
2014/01/14 Javascript
JavaScript中的ubound函数使用实例
2014/11/04 Javascript
JS模拟键盘打字效果的方法
2015/08/05 Javascript
JS+CSS实现鼠标滑过时动态翻滚的导航条效果
2015/09/24 Javascript
利用Vue.js+Node.js+MongoDB实现一个博客系统(附源码)
2017/04/24 Javascript
vue 使用ref 让父组件调用子组件的方法
2018/02/08 Javascript
element-ui 表格实现单元格可编辑的示例
2018/02/26 Javascript
详解vuex中action何时完成以及如何正确调用dispatch的思考
2019/01/21 Javascript
VUE实现强制渲染,强制更新
2019/10/29 Javascript
[01:00:35]2018DOTA2亚洲邀请赛3月30日B组 EffcetVSMineski
2018/03/31 DOTA
python中Genarator函数用法分析
2015/04/08 Python
python 文件操作删除某行的实例
2017/09/04 Python
python中map()函数的使用方法示例
2017/09/29 Python
python中的闭包函数
2018/02/09 Python
基于numpy中数组元素的切片复制方法
2018/11/15 Python
Python实现查找二叉搜索树第k大的节点功能示例
2019/01/24 Python
python提取log文件内容并画出图表
2019/07/08 Python
django认证系统 Authentication使用详解
2019/07/22 Python
使用PYTHON解析Wireshark的PCAP文件方法
2019/07/23 Python
django rest framework使用django-filter用法
2020/07/15 Python
pytorch简介
2020/11/11 Python
HTML5 video进入全屏和退出全屏的实现方法
2020/07/28 HTML / CSS
贝嫂喜欢的婴儿品牌,个性化的婴儿礼物:My 1st Years
2017/11/19 全球购物
电子商务个人自荐信
2013/12/12 职场文书
代理班主任的自我评价
2014/02/04 职场文书
学生手册评语
2014/05/05 职场文书
创业计划书之餐饮
2019/09/02 职场文书
MySQL主从复制断开的常用修复方法
2021/04/07 MySQL
Python源码解析之List
2021/05/21 Python
Python 中的 copy()和deepcopy()
2021/11/07 Python