php的urlencode()URL编码函数浅析_php技巧
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

热AI工具

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

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

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

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

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

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

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

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

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

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

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