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 防止单引号,双引号在接受页面转义
Jul 10 PHP
php实现jQuery扩展函数
Oct 30 PHP
php中读写文件与读写数据库的效率比较分享
Oct 19 PHP
php中sql注入漏洞示例 sql注入漏洞修复
Jan 24 PHP
PHP防止post重复提交数据的简单例子
Jun 07 PHP
php以post形式发送xml的方法
Nov 04 PHP
php curl登陆qq后获取用户信息时证书错误
Feb 03 PHP
php截取中文字符串函数实例
Feb 23 PHP
PHP 7.0新增加的特性介绍
Jun 08 PHP
ThinkPHP中获取指定日期后工作日的具体日期方法
Oct 14 PHP
PHP FileSystem 文件系统常用api整理总结
Jul 12 PHP
Laravel5.5 视图 - 创建视图和数据传递示例
Oct 21 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
用sql命令修改数据表中的一个字段为非空(not null)的语句
2010/06/04 PHP
jQuery Mobile + PHP实现文件上传
2014/12/12 PHP
[原创]php使用strpos判断字符串中数字类型子字符串出错的解决方法
2017/04/01 PHP
判断是否输入完毕再激活提交按钮
2006/06/26 Javascript
javascript实现动态CSS换肤技术的脚本
2007/06/29 Javascript
细品javascript 寻址,闭包,对象模型和相关问题
2009/04/27 Javascript
jQuery中:contains选择器用法实例
2014/12/30 Javascript
js实现模拟计算器退格键删除文字效果的方法
2015/05/07 Javascript
js和jq使用submit方法无法提交表单的快速解决方法
2016/05/17 Javascript
jQuery中checkbox反复调用attr('checked', true/false)只有第一次生效的解决方法
2016/11/16 Javascript
vue-cli如何引入bootstrap工具的方法
2017/10/19 Javascript
ionic3实战教程之随机布局瀑布流的实现方法
2017/12/28 Javascript
Vue中$refs的用法详解
2018/06/24 Javascript
基于elementUI实现图片预览组件的示例代码
2019/03/31 Javascript
微信小程序数据统计和错误统计的实现方法
2019/06/26 Javascript
解决antd 下拉框 input [defaultValue] 的值的问题
2020/10/31 Javascript
node koa2 ssr项目搭建的方法步骤
2020/12/11 Javascript
Python实现的选择排序算法原理与用法实例分析
2017/11/22 Python
用python处理MS Word的实例讲解
2018/05/08 Python
python 实现矩阵上下/左右翻转,转置的示例
2019/01/23 Python
python实现统计文本中单词出现的频率详解
2019/05/20 Python
使用coverage统计python web项目代码覆盖率的方法详解
2019/08/05 Python
Tensorflow中tf.ConfigProto()的用法详解
2020/02/06 Python
使用python无账号无限制获取企查查信息的实例代码
2020/04/17 Python
Python爬虫使用bs4方法实现数据解析
2020/08/25 Python
Melijoe时尚童装德国官网:Melijoe德国
2016/09/03 全球购物
欧尚俄罗斯网上超市:Auchan俄罗斯
2018/05/03 全球购物
手工制作的音乐盒:Music Box Attic
2019/09/05 全球购物
编写一子程序,将一链表倒序,即使链表表尾变表头,表头变表尾
2016/02/10 面试题
土木工程专业自荐信
2013/10/04 职场文书
酒店人事专员岗位职责
2013/12/19 职场文书
写自荐信要注意什么
2013/12/26 职场文书
护士节策划方案
2014/05/19 职场文书
匿名信格式范文
2015/05/27 职场文书
2019年汽车租赁合同范本!
2019/08/12 职场文书
Win11 vmware不兼容怎么办?Win11与VMware虚拟机不兼容的解决方法
2023/01/09 数码科技