设为首页
收藏本站
最新电影
您现在的位置: 首页=>后台技术=>php 订阅本栏目  
php url地址栏传中文乱码处理办法
时间: 2010-08-12 16:22:59 阅读次数:3289


php地址栏传中文$_GET上去后乱码,urlencode和urldecode,iconv,base64_encode等办法,整顿根本是罕用的了

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 编码字符串飞飞A,sp技术乐园
语法: 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 版本支持飞飞Asp技,术乐园
间接获取 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支持该扩展飞飞Asp技@术乐园
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="www.jb51.net?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_m
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"






站内搜索    

下一篇很全面的PHP数组的总结

上一篇PHP中单引号和双引号的区别

本栏目最新 栏目最新列表
50个新鲜兼容最新版本的免费WordPress主题
zend studio 添加spket ide的方法,绝对能用
zend studio 字体配色方案修改的方法
css浮动的详细讲解
Windows(iis)下的Memcache安装方法(安装文件
网站优化策划 栏目最新列表
增加网站外链的快速方法
网站上线前必做的30个检查
新的友情链接参考标准(没有google的PR情况
优化Google的AdSense广告的五个工具
王通讲SEO八大基础
站点最新 站点最新列表
微博推广的一些技巧
xhEditor v1.1.7 发布,
收集的一些轻量级非常实
50个新鲜兼容最新版本的
javascript中cookie的设
Excel中出现#VALUE!、#D
jquery插件:飞飞表情插件
十个使用HTML5开发的精彩
支持HTML5的浏览器有哪些
飞妮莫属:漫画:如何写出
历史最热10条信息  
MIME介绍 及 [1] [2] [3]
巧用Google和迅雷来下载
VIA Rhine II Fast Ethe
Transact SQL 常 [1] [2]
电脑常用端 [1] [2] [3]
十道羊皮卷 欣赏+mp3版+
Do you get a kick out
每日一句:A friend and
每日一句:Theres no tu
网站开发常用手册
 width= 
伟哥博客 西安房产 123最新电影 三四六四