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 session_start()出错原因分析及解决方法
Oct 28 PHP
PHP小技巧之JS和CSS优化工具Minify的使用方法
May 19 PHP
完善CodeIgniter在IDE中代码提示功能的方法
Jul 19 PHP
ThinkPHP处理Ajax返回的方法
Nov 22 PHP
[原创]php获取数组中键值最大数组项的索引值
Mar 17 PHP
php文件下载处理方法分析
Apr 22 PHP
php实现的验证码文件类实例
Jun 18 PHP
thinkPHP中session()方法用法详解
Dec 08 PHP
php实现查询功能(数据访问)
May 23 PHP
详细对比php中类继承和接口继承
Oct 11 PHP
mysqli扩展无法在PHP7下升级问题的解决
Sep 10 PHP
PHP接口类(interface)的定义、特点和应用示例
May 18 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 输出双引号&quot;与单引号'的方法
2010/05/09 PHP
利用PHP实现智能文件类型检测的实现代码
2011/08/02 PHP
PHP和javascript常用正则表达式及用法实例
2014/07/01 PHP
yii操作cookie实例简介
2014/07/09 PHP
ThinkPHP模板输出display用法分析
2014/11/26 PHP
Yii学习总结之数据访问对象 (DAO)
2015/02/22 PHP
php运行时动态创建函数的方法
2015/03/16 PHP
codeigniter显示所有脚本执行时间的方法
2015/03/21 PHP
PHP面向对象程序设计之类与反射API详解
2016/12/02 PHP
thinkPHP框架实现的简单计算器示例
2018/12/07 PHP
js中如何把字符串转化为对象、数组示例代码
2013/07/17 Javascript
javaScript如何生成xmlhttp
2013/12/16 Javascript
ie浏览器使用js导出网页到excel并打印
2014/03/11 Javascript
IE6浏览器中window.location.href无效的解决方法
2014/11/20 Javascript
node.js中的fs.link方法使用说明
2014/12/15 Javascript
jQuery实现可用于博客的动态滑动菜单
2015/03/09 Javascript
JavaScript实现为input与textarea自定义hover,focus效果的方法
2015/08/21 Javascript
jQuery实现从身份证号中获取出生日期和性别的方法分析
2016/02/25 Javascript
快速实现jQuery多级菜单效果
2017/02/01 Javascript
详谈jQuery unbind 删除绑定事件 / 移除标签方法
2017/03/02 Javascript
在vue中使用公共过滤器filter的方法
2018/06/26 Javascript
在阿里云服务器上配置CentOS+Nginx+Python+Flask环境
2016/06/18 Python
利用Python命令行传递实例化对象的方法
2016/11/02 Python
Python中单例模式总结
2018/02/20 Python
python多进程使用及线程池的使用方法代码详解
2018/10/24 Python
利用pyinstaller打包exe文件的基本教程
2019/05/02 Python
python列表,字典,元组简单用法示例
2019/07/11 Python
Python 实现数据结构-循环队列的操作方法
2019/07/17 Python
Python Scrapy框架第一个入门程序示例
2020/02/05 Python
python环境搭建和pycharm的安装配置及汉化详细教程(零基础小白版)
2020/08/19 Python
全球性的在线商店:Vogca
2019/05/10 全球购物
英国奢侈品概念店:Base Blu
2019/05/16 全球购物
体育纪念品、亲笔签名的体育收藏品:Steiner Sports
2020/07/31 全球购物
大专会计自我鉴定
2014/02/06 职场文书
人事局接收函
2015/01/30 职场文书
JS轻量级函数式编程实现XDM二
2022/06/16 Javascript