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 分库分表hash算法
Nov 12 PHP
php页面跳转代码 输入网址跳转到你定义的页面
Mar 28 PHP
PHP代码保护--Zend Guard的使用详解
Jun 03 PHP
coreseek 搜索英文的问题详解
Jun 08 PHP
php可应用于面包屑导航的迭代寻找家谱树实现方法
Feb 02 PHP
php将日期格式转换成xx天前的格式
Apr 16 PHP
Linux系统递归生成目录中文件的md5的方法
Jun 29 PHP
php排序算法实例分析
Oct 17 PHP
YII中Ueditor富文本编辑器文件和图片上传的配置图文教程
Mar 15 PHP
在Laravel5.6中使用Swoole的协程数据库查询
Jun 15 PHP
PHP实现的DES加密解密类定义与用法示例
Nov 02 PHP
discuz论坛更换域名,详细文件修改步骤
Dec 09 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
DC动画电影《黑暗正义联盟》曝预告 5月5日上线数字平台
2020/04/09 欧美动漫
在windows iis5下安装php4.0+mysql之我见
2006/10/09 PHP
php之CodeIgniter学习笔记
2013/06/17 PHP
php技巧小结【推荐】
2017/01/19 PHP
php批量转换文件夹下所有文件编码的函数类
2017/08/06 PHP
php中各种定义变量的方法小结
2017/10/18 PHP
Javascript实现的分页函数
2007/02/07 Javascript
Confirmer JQuery确认对话框组件
2010/06/09 Javascript
有趣的JavaScript数组长度问题代码说明
2011/01/20 Javascript
25个好玩的JavaScript小游戏分享
2011/04/22 Javascript
connection reset by peer问题总结及解决方案
2016/10/21 Javascript
微信小程序Server端环境配置详解(SSL, Nginx HTTPS,TLS 1.2 升级)
2017/01/12 Javascript
javascript 单例模式详解及简单实例
2017/02/14 Javascript
JS写谷歌浏览器chrome的外挂实例
2018/01/11 Javascript
Node.js实现用户评论社区功能(体验前后端开发的乐趣)
2019/05/09 Javascript
微信小程序数据统计和错误统计的实现方法
2019/06/26 Javascript
在vue-cli3.0 中使用预处理器 (Sass/Less/Stylus) 配置全局变量操作
2020/08/10 Javascript
vue动态设置页面title的方法实例
2020/08/23 Javascript
vue 项目中当访问路由不存在的时候默认访问404页面操作
2020/08/31 Javascript
python以环状形式组合排列图片并输出的方法
2015/03/17 Python
解决pycharm界面不能显示中文的问题
2018/05/23 Python
python实现对求解最长回文子串的动态规划算法
2018/06/02 Python
python3.7.0的安装步骤
2018/08/27 Python
CSS3 实用技巧:实现黑白图像效果示例代码
2013/07/11 HTML / CSS
HTML5印章绘制电子签章图片(中文英文椭圆章、中文英文椭圆印章)
2019/06/03 HTML / CSS
使用分层画布来优化HTML5渲染的教程
2015/05/08 HTML / CSS
压铸汽车模型收藏家:Diecastmodelswholesale.com
2016/12/21 全球购物
Solid & Striped官网:美国泳装品牌
2019/06/19 全球购物
质检部岗位职责
2013/11/11 职场文书
《花瓣飘香》教学反思
2014/04/15 职场文书
小学生手册家长评语
2014/04/16 职场文书
优秀大学生求职自荐信范文
2014/04/19 职场文书
鸡毛信观后感
2015/06/11 职场文书
升学宴学生致辞
2015/09/29 职场文书
详解Mysql 函数调用优化
2021/04/07 MySQL
MySQL GTID复制的具体使用
2022/05/20 MySQL