php处理带有中文URL的方法


Posted in PHP onJuly 11, 2016

本文实例讲述了php处理带有中文URL的方法。分享给大家供大家参考,具体如下:

ie6超链接有中文的时候会有问题,万恶的ie6啊.PHP使内置的urlencode函数也不行,urlencode把斜杠等ascii码字符也给编码了,还是不能解决问题,使用下面的函数可以解决这个问题.

原理很简单,就是把所有byte大于127的byte转换为16进制.

中文超链接地址

// utf-8编码
$url = 'http://ftp.dotcoo.com/PHP视频教程.rar';
//urlencode结果:
echo urlencode($url);
http%3A%2F%2Fftp1.zdy.co%2Fmovie%2F%E6%88%91%E4%B8%BA%E7%9B%B8%E4%BA%B2%E7%8B%82.rmvb
//link_urldecode结果:
echo link_urldecode($url);
http://ftp1.zdy.co/movie/%E6%88%91%E4%B8%BA%E7%9B%B8%E4%BA%B2%E7%8B%82.rmvb
//link_urldecode函数:
function link_urldecode($url) {
  $uri = '';
  $cs = unpack('C*', $url);
  $len = count($cs);
  for ($i=1; $i<=$len; $i++) {
    $uri .= $cs[$i] > 127 ? '%'.strtoupper(dechex($cs[$i])) : $url{$i-1};
  }
  return $uri;
}

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
PHP默认安装产生系统漏洞
Oct 09 PHP
解决GD中文乱码问题
Feb 14 PHP
php读取msn上的用户信息类
Dec 05 PHP
PHP函数之error_reporting(E_ALL ^ E_NOTICE)详细说明
Jul 01 PHP
浅谈PHP与C#的值类型指向区别的详解
May 21 PHP
php将session放入memcached的设置方法
Feb 14 PHP
一个严格的PHP Session会话超时时间设置方法
Jun 10 PHP
destoon各类调用汇总
Jun 20 PHP
PHP移动文件指针ftell()、fseek()、rewind()函数总结
Nov 18 PHP
php猴子选大王问题解决方法
May 12 PHP
PHP实现简单ajax Loading加载功能示例
Dec 28 PHP
解决Laravel5.5下的toArray问题
Oct 15 PHP
PHP实现JS中escape与unescape的方法
Jul 11 #PHP
php处理复杂xml数据示例
Jul 11 #PHP
php的debug相关函数用法示例
Jul 11 #PHP
php错误日志简单配置方法
Jul 11 #PHP
PHP进行批量任务处理不超时的解决方法
Jul 11 #PHP
PHP封装的数据库保存session功能类
Jul 11 #PHP
php中array_column函数简单实现方法
Jul 11 #PHP
You might like
smarty 原来也不过如此~~呵呵
2006/11/25 PHP
Linux下将excel数据导入到mssql数据库中的方法
2010/02/08 PHP
PHP数据库万能引擎类adodb配置使用以及实例集锦
2014/06/12 PHP
ThinkPHP中ajax使用实例教程
2014/08/22 PHP
PHP概率计算函数汇总
2015/09/13 PHP
突发奇想的一个jquery插件
2010/11/19 Javascript
treepanel动态加载数据实现代码
2012/12/15 Javascript
往光标所在位置插入值的js代码
2013/09/22 Javascript
js jquery分别实现动态的文件上传操作按钮的添加和删除
2014/01/13 Javascript
浅谈jQuery中height与width
2015/07/06 Javascript
简单学习JavaScript中的for语句循环结构
2015/11/10 Javascript
jQuery ajax分页插件实例代码
2016/01/27 Javascript
DOM操作和jQuery实现选项移动操作的简单实例
2016/06/07 Javascript
Jquery通过ajax请求NodeJS返回json数据实例
2016/11/08 NodeJs
深入理解JS中Number(),parseInt(),parseFloat()三者比较
2018/08/24 Javascript
如何去除富文本中的html标签及vue、react、微信小程序中的过滤器
2018/11/21 Javascript
jquery实现垂直手风琴导航栏
2020/02/18 jQuery
Vue 自适应高度表格的实现方法
2020/05/13 Javascript
[01:20]2018DOTA2亚洲邀请赛总决赛战队LGD晋级之路
2018/04/07 DOTA
Python实现将绝对URL替换成相对URL的方法
2015/06/28 Python
Python实现TCP协议下的端口映射功能的脚本程序示例
2016/06/14 Python
Python实现多并发访问网站功能示例
2017/06/19 Python
python select.select模块通信全过程解析
2017/09/20 Python
The North Face北面英国官网:美国著名户外品牌
2017/12/13 全球购物
美国儿童珠宝在线零售商:Loveivy
2019/05/22 全球购物
Yahoo-PHP面试题3
2012/01/14 面试题
包装类的功能、种类、常用方法
2012/01/27 面试题
我的小天地教学反思
2014/04/30 职场文书
护理医院见习报告
2014/11/03 职场文书
关于幸福的感言
2015/08/03 职场文书
继续教育心得体会(共6篇)
2016/01/19 职场文书
2016年母亲节广告语
2016/01/28 职场文书
浅谈JS和Nodejs中的事件驱动
2021/05/05 NodeJs
关于mysql中时间日期类型和字符串类型的选择
2021/11/27 MySQL
vue选项卡切换的实现案例
2022/04/11 Vue.js
SQL Server中锁的用法
2022/05/20 SQL Server