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加速 eAccelerator配置和使用指南
Jun 05 PHP
完美解决PHP中的Cannot modify header information 问题
Aug 12 PHP
2014过年倒计时示例
Jan 31 PHP
Codeigniter上传图片出现“You did not select a file to upload”错误解决办法
Jun 12 PHP
windows7下安装php的php-ssh2扩展教程
Jul 04 PHP
PHP实现AES256加密算法实例
Sep 22 PHP
php计划任务之验证是否有多个进程调用同一个job的方法
Dec 07 PHP
php 实现进制相互转换
Apr 07 PHP
Yii2实现增删改查后留在当前页的方法详解
Jan 13 PHP
PHPExcel中文帮助手册|PHPExcel使用方法(分享)
Jun 09 PHP
php静态成员方法和静态的成员属性的使用方法
Oct 26 PHP
PHP7 新增常量
Mar 09 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
造势之举?韩国总统候选人发布《星际争霸》地图
2017/04/22 星际争霸
浅析linux下apache服务器的配置和管理
2013/08/10 PHP
解决PHP里大量数据循环时内存耗尽的方法
2015/10/10 PHP
PHP面试题之文件目录操作
2015/10/15 PHP
PHP递归删除多维数组中的某个值
2017/04/17 PHP
PHP实现生成模糊图片的方法示例
2017/12/21 PHP
laravel 5.4 + vue + vux + element的环境搭配过程介绍
2018/04/26 PHP
javascript编程起步(第五课)
2007/02/27 Javascript
分享别人写的一个小型js框架
2007/08/13 Javascript
jQuery插件kinMaxShow扩展效果用法实例
2015/05/04 Javascript
纯javascript实现图片延时加载方法
2015/08/21 Javascript
vue2.0 与 bootstrap datetimepicker的结合使用实例
2017/05/22 Javascript
JavaScript实现的文本框placeholder提示文字功能示例
2018/07/25 Javascript
如何安装控制器JavaScript生成插件详解
2018/10/21 Javascript
javascript创建元素和删除元素实例小结
2019/06/19 Javascript
[02:07]2018DOTA2亚洲邀请赛主赛事第三日五佳镜头 fy极限反杀
2018/04/06 DOTA
[01:27:30]LGD vs Newbee 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
Python中动态获取对象的属性和方法的教程
2015/04/09 Python
Python中最常用的操作列表的几种方法归纳
2015/04/24 Python
Python实现截屏的函数
2015/07/25 Python
Python使用Mechanize模块编写爬虫的要点解析
2016/03/31 Python
Python算法之求n个节点不同二叉树个数
2017/10/27 Python
http请求 request失败自动重新尝试代码示例
2018/01/25 Python
python将txt文档每行内容循环插入数据库的方法
2018/12/28 Python
PyQt5实现暗黑风格的计时器
2019/07/29 Python
python3.6 tkinter实现屏保小程序
2019/07/30 Python
Python中*args和**kwargs的区别详解
2019/09/17 Python
Python pandas库中的isnull()详解
2019/12/26 Python
关于win10在tensorflow的安装及在pycharm中运行步骤详解
2020/03/16 Python
HTML5 Canvas中使用用路径描画圆弧
2015/01/01 HTML / CSS
澳大利亚拥有最佳跳伞降落点和最好服务的跳伞项目运营商:Skydive Australia
2018/03/05 全球购物
2014年创卫实施方案
2014/02/18 职场文书
六一儿童节致辞稿(3篇)
2019/07/11 职场文书
浅析Redis Sentinel 与 Redis Cluster
2021/06/24 Redis
php去除deprecated的实例方法
2021/11/17 PHP
mysql中关键词exists的用法实例详解
2022/06/10 MySQL