Home > Article > Backend Development > php urlencode() function implements URL encoding analysis_PHP tutorial
The urlencode() function in PHP is to convert Chinese into string encoding, so that it will not cause the Chinese URL to be garbled or wrong when opened in the browser. Let me introduce to you how to use urlencode() Coding is some nuts and bolts.
urlencode
(PHP 4, PHP 5)
urlencode — encode a URL string
Report a bug Description
string urlencode ( string $str )
This function makes it easy to encode a string and use it in the request part of the URL, and it also makes it easy to pass variables to the next page.
Report a bug parameter
str
The string to encode.
Report a bug return value
Returns a string in which all non-alphanumeric characters except -_. will be replaced with a percent sign (%) followed by two hexadecimal digits, and spaces are encoded as plus signs ( +). This encoding is the same as the encoding of WWW form POST data, and the same encoding as the application/x-www-form-urlencoded media type. For historical reasons, this encoding differs from the RFC1738 encoding (see rawurlencode()) in encoding spaces as plus signs (+).
What is URLEncode:
This tool implements two methods of Encode and Decode respectively.
Chinese -> Encode of GB2312 -> %D6%D0%CE%C4
Chinese -> UTF-8 Encode -> %E4%B8%AD%E6%96%87
URLEncode in Html:
In the html file encoded as GB2312,
/中文.rar -> The browser automatically converts to -> /%D6%D0%CE%C4.rar
Note: Firefox does not have good support for Chinese URLs in GB2312 Encode because it sends URLs in UTF-8 encoding by default, but the ftp:// protocol is fine. I tried it. I think this should be regarded as a bug in Firefox.
In the html file encoded as UTF-8,
/中文.rar -> The browser automatically converts to -> /%E4%B8%AD%E6%96%87.rar
URLEncode in PHP:
The code is as follows | Copy code | ||||
echo urlencode("中文-_. ")."n"; //%D6%D0%CE%C4-_.+
|
rawurlencode encodes spaces as plus signs (%20)
代码如下 | 复制代码 |
$url = ‘/中文.rar’; |
代码如下 | 复制代码 |
function parseurl($url=”") |
The code is as follows | Copy code |
$url = ‘/中文.rar’; echo urlencode(mb_convert_encoding($url, ‘utf-8′, ‘gb2312′)).”n”; echo rawurlencode(mb_convert_encoding($url, ‘utf-8′, ‘gb2312′)).”n”; //http%3A%2F%2Fud03.kinoko.name%2F%E4%B8%AD%E6%96%87.rar ?> |
The code is as follows | Copy code |
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@ud03.kinoko.name/中文/中文.rar”; echo parseurl($url); //ftp://ud03:password@ud03.kinoko.name/%D6%D0%CE%C4/%D6%D0%CE%C4.rar ?> |
URLEncode in JavaScript:
The code is as follows
|
Copy code
|
||||||||
encodeURI does not encode the following characters: ":", "/", ";", "?", "@" and other special characters.
http://www.bkjia.com/PHPjc/632093.htmlwww.bkjia.comtruehttp: //www.bkjia.com/PHPjc/632093.htmlTechArticleIn php, the urlencode() function is to convert Chinese into string encoding, so that it will not cause Chinese URLs There are problems with garbled characters or errors when opening in the browser. Let me introduce to you how to use... |