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缩略图等比例无损压缩,可填充空白区域补充色
Jun 10 PHP
PHP的简易冒泡法代码分享
Aug 28 PHP
基于empty函数的输出详解
Jun 17 PHP
解析PHP中的unset究竟会不会释放内存
Jul 18 PHP
php中调用其他系统http接口的方法说明
Feb 28 PHP
PHP使用gmdate实现将一个UNIX 时间格式化成GMT文本的方法
Mar 19 PHP
PHP判断一个字符串是否是回文字符串的方法
Mar 23 PHP
PHP对称加密函数实现数据的加密解密
Oct 27 PHP
php自定义函数br2nl实现将html中br换行符转换为文本输入中换行符的方法【与函数nl2br功能相反】
Feb 17 PHP
Yii输入正确验证码却验证失败的解决方法
Jun 06 PHP
php处理静态页面:页面设置缓存时间实例
Jun 22 PHP
PHP面向对象程序设计子类扩展父类(子类重新载入父类)操作详解
Jun 14 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
php csv操作类代码
2009/12/14 PHP
php上传文件问题汇总
2015/01/30 PHP
php版微信开发Token验证失败或请求URL超时问题的解决方法
2016/09/23 PHP
PHP培训要多少钱
2017/06/06 PHP
PHP编程文件处理类SplFileObject和SplFileInfo用法实例分析
2017/07/22 PHP
JavaScript多线程的实现方法
2007/05/08 Javascript
xml 封装与解析(javascript和C#中)
2009/07/26 Javascript
JavaScript的继承的封装介绍
2013/10/15 Javascript
引用其它js时如何同时处理多个window.onload事件
2014/09/02 Javascript
JavaScript如何禁止Backspace键
2015/12/02 Javascript
微信小程序 textarea 详解及简单使用方法
2016/12/05 Javascript
AngularJS 文件上传控件 ng-file-upload详解
2017/01/13 Javascript
javascript常用的设计模式
2017/02/09 Javascript
JavaScript转换数据库DateTime字段类型方法
2017/06/27 Javascript
判断jQuery是否加载完成,没完成继续判断的解决方法
2017/12/06 jQuery
JavaScript设计模式之构造器模式(生成器模式)定义与用法实例分析
2018/07/26 Javascript
Vue2.0使用嵌套路由实现页面内容切换/公用一级菜单控制页面内容切换(推荐)
2019/05/08 Javascript
20道JS原理题助你面试一臂之力(必看)
2019/07/22 Javascript
JS数组splice操作实例分析
2019/10/12 Javascript
Vue防止白屏添加首屏动画的实例
2019/10/31 Javascript
微信小程序实现页面浮动导航
2020/01/08 Javascript
[01:33]PWL开团时刻DAY2-开雾与反开雾
2020/10/31 DOTA
解决DataFrame排序sort的问题
2018/06/07 Python
python代理工具mitmproxy使用指南
2019/07/04 Python
Python FtpLib模块应用操作详解
2019/12/12 Python
Python3 xml.etree.ElementTree支持的XPath语法详解
2020/03/06 Python
matplotlib bar()实现多组数据并列柱状图通用简便创建方法
2021/02/24 Python
HTML5之SVG 2D入门1—SVG(可缩放矢量图形)概述
2013/01/30 HTML / CSS
HTML5里的placeholder属性使用实例和美化显示效果的方法
2014/04/23 HTML / CSS
法学专业个人求职信
2013/09/26 职场文书
第二课堂活动总结
2014/05/07 职场文书
学雷锋标兵事迹材料
2014/08/18 职场文书
整顿机关作风心得体会
2014/09/10 职场文书
王兆力在市委党的群众路线教育实践活动总结大会上的讲话稿
2014/10/25 职场文书
2014年幼儿园学期工作总结
2014/12/05 职场文书
安全生产隐患排查制度
2015/08/05 职场文书