Home php教程 php手册 php的urlencode()URL编码函数浅析

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

Jun 06, 2016 pm 08:38 PM
urlencode url encoding

URLEncode:是指针对网页url中的中文字符的一种编码转化方式,最常见的就是Baidu、Google等搜索引擎中输入中文查询时候,生成经过Encode过的网页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
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: How To Unlock Everything In MyRise
1 months ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to solve URL decoding exceptions in Java development How to solve URL decoding exceptions in Java development Jun 29, 2023 pm 02:07 PM

How to solve URL decoding exceptions in Java development. In Java development, we often encounter situations where URLs need to be decoded. However, due to different encoding methods or non-standard URL strings, URL decoding abnormalities sometimes occur. This article will introduce some common URL decoding exceptions and corresponding solutions. 1. The cause of URL decoding exception is mismatch in encoding methods: special characters in the URL need to be URL encoded, that is, converted into hexadecimal values ​​starting with %. When decoding, you need to use

How to utilize PHP functions for URL encoding and decoding? How to utilize PHP functions for URL encoding and decoding? Jul 24, 2023 pm 11:21 PM

How to utilize PHP functions for URL encoding and decoding? In PHP, URL encoding and decoding are very common operations. URL encoding converts special characters in the URL into corresponding encoded values. Common special characters include spaces, slashes, question marks, etc. URL decoding converts the encoded value back to the original special characters. PHP provides a series of functions to implement URL encoding and decoding functions. This article will introduce the commonly used urlencode() and urldecode() functions and give corresponding code examples.

How to use the urllib.parse.quote() function to encode URLs in Python 3.x How to use the urllib.parse.quote() function to encode URLs in Python 3.x Jul 31, 2023 pm 10:46 PM

Use the urllib.parse.quote() function to encode URLs in Python3. Parameters may contain special characters. The urllib.parse module in Python provides the quote() function, which can encode illegal characters in URLs into legal URL strings. This article will be passed through

PHP's urlencode() function: How to encode a string into a URL-safe format PHP's urlencode() function: How to encode a string into a URL-safe format Nov 03, 2023 pm 12:39 PM

PHP's urlencode() function: How to encode a string into a URL-safe format, specific code examples are needed. With the development of the Internet, URLs are widely used in daily life, and we often need to encode strings with some special characters into URL-safe formats. Format to pass parameters in the URL or request a web page. PHP provides the urlencode() function to accomplish this task. This article will introduce the usage of urlencode() function and give some specific code examples. 1. ur

How to use the urllib.parse.urlencode() function to encode parameters in Python 3.x How to use the urllib.parse.urlencode() function to encode parameters in Python 3.x Aug 03, 2023 pm 03:18 PM

How to use the urllib.parse.urlencode() function to encode parameters in Python3.x. When performing network programming or making HTTP requests, it is often necessary to encode the parameters in the URL. The urllib module in Python provides the convenient urlencode() function to encode URL parameters. This article will introduce how to use the urllib.parse.urlencode() function in Python3.x

How to use the urllib.quote() function to encode URLs in Python 2.x How to use the urllib.quote() function to encode URLs in Python 2.x Jul 31, 2023 pm 08:37 PM

How to use the urllib.quote() function to encode URLs in Python 2.x. URLs contain a variety of characters, including letters, numbers, special characters, etc. In order for the URL to be transmitted and parsed correctly, we need to encode the special characters in it. In Python2.x, you can use the urllib.quote() function to encode the URL. Let's introduce its usage in detail below. urllib.quote

Encode URL using urlencode() function in PHP Encode URL using urlencode() function in PHP Nov 18, 2023 am 08:53 AM

The specific code example of using the urlencode() function in PHP to encode a URL is as follows: <?php//Define the URL to be encoded$url="https://www.example.com/search?q=A Chinese query ";//Encode the URL $encodedUrl=urlencode($url);echo" before encoding

Encode URL using encodeURI function in JavaScript Encode URL using encodeURI function in JavaScript Nov 18, 2023 am 10:37 AM

Using the encodeURI function in JavaScript to encode a URL, we can demonstrate it with the following code example: //original URLconsturlString="https://www.example.com/path/file.html?parameter=value&parameter2=value 2";//Use the encodeURI function to encode the URL constencoded

See all articles