首页 后端开发 php教程 php的urlencode()URL编码函数浅析_php技巧

php的urlencode()URL编码函数浅析_php技巧

May 17, 2016 am 09:16 AM
urlencode url编码

URLEncode的方式一般有两种,一种是传统的基于GB2312的Encode(Baidu、Yisou等使用),另一种是基于UTF-8的Encode(Google、Yahoo等使用)。

本工具分别实现两种方式的Encode与Decode:

中文 -> GB2312的Encode -> %D6%D0%CE%C4

中文 -> UTF-8的Encode -> %E4%B8%AD%E6%96%87

Html中的URLEncode:

编码为GB2312的html文件中:http://s.jb51.net/中文.rar -> 浏览器自动转换为 -> http://s.jb51.net/%D6%D0%CE%C4.rar

注意:Firefox对GB2312的Encode的中文URL支持不好,因为它默认是UTF-8编码发送URL的,但是ftp://协议可以,我试过了,我认为这应该算是Firefox一个bug。

编码为UTF-8的html文件中:http://s.jb51.net/中文.rar -> 浏览器自动转换为 -> http://s.jb51.net/%E4%B8%AD%E6%96%87.rar

PHP中的URLEncode:

复制代码 代码如下:

//GB2312的Encode
echo urlencode("中文-_. ")."\n"; //%D6%D0%CE%C4-_.+
echo urldecode("%D6%D0%CE%C4-_. ")."\n"; //中文-_.
echo rawurlencode("中文-_. ")."\n"; //%D6%D0%CE%C4-_.%20
echo rawurldecode("%D6%D0%CE%C4-_. ")."\n"; //中文-_.
?>


除了“-_.”之外的所有非字母数字字符都将被替换成百分号“%”后跟两位十六进制数。

urlencode和rawurlencode的区别:urlencode将空格编码为加号“+”,rawurlencode将空格编码为加号“%20”。

如果要使用UTF-8的Encode,有两种方法:

一、将文件存为UTF-8文件,直接使用urlencode、rawurlencode即可。

二、使用mb_convert_encoding函数:
复制代码 代码如下:

$url = 'http://s.jb51.net/中文.rar';
echo urlencode(mb_convert_encoding($url, 'utf-8', 'gb2312'))."\n";
echo rawurlencode(mb_convert_encoding($url, 'utf-8', 'gb2312'))."\n";
//http%3A%2F%2Fs.jb51.net%2F%E4%B8%AD%E6%96%87.rar
?>


实例:
复制代码 代码如下:

function parseurl($url="")
{
$url = rawurlencode(mb_convert_encoding($url, 'gb2312', 'utf-8'));
$a = array("%3A", "%2F", "%40");
$b = array(":", "/", "@");
$url = str_replace($a, $b, $url);
return $url;
}
$url="ftp://ud03:password@s.jb51.net/中文/中文.rar";
echo parseurl($url);
//ftp://ud03:password@s.jb51.net/%D6%D0%CE%C4/%D6%D0%CE%C4.rar
?>


JavaScript中的URLEncode:

如:%E4%B8%AD%E6%96%87-_.%20%E4%B8%AD%E6%96%87-_.%20

encodeURI不对下列字符进行编码:“:”、“/”、“;”、“?”、“@”等特殊字符。

如:http://s.jb51.net/%E4%B8%AD%E6%96%87.rarhttp%3A%2F%2Fs.jb51.net%2F%E4%B8%AD%E6%96%87.rar
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

如何解决Java开发中的URL解码异常 如何解决Java开发中的URL解码异常 Jun 29, 2023 pm 02:07 PM

如何解决Java开发中的URL解码异常在Java开发中,我们经常会遇到需要解码URL的情况。然而,由于不同的编码方式或者不规范的URL字符串,有时候会出现URL解码异常的情况。本文将介绍一些常见的URL解码异常以及对应的解决方法。一、URL解码异常的产生原因编码方式不匹配:URL中的特殊字符需要进行URL编码,即将其转换为以%开头的十六进制值。解码时,需要使

Python 3.x 中如何使用urllib.parse.quote()函数对URL进行编码 Python 3.x 中如何使用urllib.parse.quote()函数对URL进行编码 Jul 31, 2023 pm 10:46 PM

Python3.x中使用urllib.parse.quote()函数对URL进行编码在网络应用开发中,经常会遇到需要对URL进行编码的情况,这是由于URL中允许的字符有限,而我们需要传递的参数可能包含了特殊字符。Python中的urllib.parse模块提供了quote()函数,可以对URL中的非法字符进行编码,使之成为合法的URL字符串。本文将通过代

PHP的urlencode()函数:如何将字符串编码为URL安全格式 PHP的urlencode()函数:如何将字符串编码为URL安全格式 Nov 03, 2023 pm 12:39 PM

PHP的urlencode()函数:如何将字符串编码为URL安全格式,需要具体代码示例随着互联网的发展,URL在日常生活中被广泛使用,我们经常需要将一些特殊字符的字符串编码为URL安全格式,以便在URL中传递参数或者请求网页。PHP中提供了urlencode()函数来完成这个任务。本文将介绍urlencode()函数的用法,并给出一些具体的代码示例。一、ur

Python 3.x 中如何使用urllib.parse.urlencode()函数对参数进行编码 Python 3.x 中如何使用urllib.parse.urlencode()函数对参数进行编码 Aug 03, 2023 pm 03:18 PM

Python3.x中如何使用urllib.parse.urlencode()函数对参数进行编码在进行网络编程或者进行HTTP请求时,往往需要对URL中的参数进行编码。而Python中的urllib模块提供了方便的urlencode()函数来进行URL参数的编码。本文将介绍如何在Python3.x中使用urllib.parse.urlencode()函

使用PHP中的urlencode()函数对URL进行编码 使用PHP中的urlencode()函数对URL进行编码 Nov 18, 2023 am 08:53 AM

使用PHP中的urlencode()函数对URL进行编码的具体代码示例如下:<?php//定义要编码的URL$url="https://www.example.com/search?q=一个中文查询";//对URL进行编码$encodedUrl=urlencode($url);echo"编码前

Python 2.x 中如何使用urllib.quote()函数对URL进行编码 Python 2.x 中如何使用urllib.quote()函数对URL进行编码 Jul 31, 2023 pm 08:37 PM

Python2.x中如何使用urllib.quote()函数对URL进行编码URL中包含了多种字符,包括字母、数字、特殊字符等。为了使URL能够正确地传输和解析,我们需要对其中的特殊字符进行编码。在Python2.x中,可以使用urllib.quote()函数对URL进行编码,下面我们来详细介绍其用法。urllib.quote

如何利用PHP函数进行URL编码和解码? 如何利用PHP函数进行URL编码和解码? Jul 24, 2023 pm 11:21 PM

如何利用PHP函数进行URL编码和解码?在PHP中,URL编码和解码是非常常见的操作。URL编码是将URL中的特殊字符转换为相应的编码值,常见的特殊字符包括空格、斜杠、问号等。而URL解码则是将编码值转换回原始的特殊字符。PHP提供了一系列函数来实现URL编码和解码的功能,本文将介绍常用的urlencode()和urldecode()函数,并给出相应的代码示

PHP中如何使用urlencode函数对URL进行编码 PHP中如何使用urlencode函数对URL进行编码 Jun 26, 2023 pm 12:48 PM

在现代开发中,将数据通过URL进行传递是一种常见的方式。然而,由于URL中可能含有一些特殊字符,例如空格、斜杠和问号等,这些特殊字符会破坏URL的结构,导致传输数据失败。为了避免这种情况的发生,PHP提供了urlencode函数,可以将URL编码为可传输的格式。urlencode函数的使用非常简单,它的语法如下:stringurlencode(string

See all articles