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 11 PHP
有关php运算符的知识大全
Nov 03 PHP
PHP容易被忽略而出错陷阱 数字与字符串比较
Nov 10 PHP
php数组中删除元素的实现代码
Jun 22 PHP
解析CI的AJAX分页 另类实现方法
Jun 27 PHP
ThinkPHP CURD方法之limit方法详解
Jun 18 PHP
PHP 5.3和PHP 5.4出现FastCGI Error解决方法
Feb 12 PHP
PHP正则获取页面所有图片地址
Mar 23 PHP
PHP 数组基本操作方法详解
Jun 17 PHP
PHPExcel在linux环境下导出报500错误的解决方法
Jan 26 PHP
WHOOPS PHP调试库的使用
Sep 29 PHP
Laravel获取所有的数据库表及结构的方法
Oct 10 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
解决文件名解压后乱码的问题 将文件名进行转码的代码
2012/01/10 PHP
php字符串截取的简单方法
2013/07/04 PHP
淘宝ip地址查询类分享(利用淘宝ip库)
2014/01/07 PHP
微信营销平台系统?刮刮乐的开发
2014/06/10 PHP
PHP中的reflection反射机制测试例子
2014/08/05 PHP
php $_SESSION会员登录实例分享
2021/01/19 PHP
PHP生成可点击刷新的验证码简单示例
2016/05/13 PHP
PHP list() 将数组中的值赋给变量的简单实例
2016/06/13 PHP
用js实现的抽象CSS圆角效果!!
2007/05/03 Javascript
JavaScript中的方法调用详细介绍
2014/12/30 Javascript
jQuery实现鼠标划过添加和删除class的方法
2015/06/26 Javascript
七个不允许错过的jQuery小技巧
2015/12/21 Javascript
JavaScript文本框脚本编写的注意事项
2016/01/25 Javascript
jquery取消事件冒泡的三种方法(推荐)
2016/05/28 Javascript
js简单实现调整网页字体大小的方法
2016/07/23 Javascript
js实现首屏延迟加载实现方法 js实现多屏单张图片延迟加载效果
2017/07/17 Javascript
jQuery+ajax实现动态添加表格tr td功能示例
2018/04/23 jQuery
Vuex 使用 v-model 配合 state的方法
2018/11/13 Javascript
vue集成chart.js的实现方法
2019/08/20 Javascript
在HTML中使用JavaScript的两种方法
2020/12/24 Javascript
[26:40]DOTA2上海特级锦标赛A组资格赛#1 Secret VS MVP.Phx第一局
2016/02/25 DOTA
布同 统计英文单词的个数的python代码
2011/03/13 Python
python3中zip()函数使用详解
2018/06/29 Python
Python实现基于C/S架构的聊天室功能详解
2018/07/07 Python
解决pip install xxx报错SyntaxError: invalid syntax的问题
2018/11/30 Python
20行python代码的入门级小游戏的详解
2019/05/05 Python
PyQt5实现简易电子词典
2019/06/25 Python
pandas DataFrame 行列索引及值的获取的方法
2019/07/02 Python
python相对企业语言优势在哪
2020/06/12 Python
python实现一个简单RPC框架的示例
2020/10/28 Python
美国派对用品及装饰品网上商店:Shindigz
2016/07/30 全球购物
草莓巧克力:Shari’s Berries
2017/02/07 全球购物
PatPat香港:婴童服饰和亲子全家装在线购物
2020/09/27 全球购物
项目转让协议书
2014/10/27 职场文书
优秀党员主要事迹材料
2015/11/04 职场文书
pytorch中Schedule与warmup_steps的用法说明
2021/05/24 Python