php中urlencode()详细说明rawurlencode函数公式
时间:2023-10-18 14:03:58 静子
URLEncodede: URLEncode:是指网页url中文字符的编号转换方法,最常见的是Baidu、通过在Google等搜索引擎中输入中文查看,形成通过 Encode完成的网页URL。一般有两种形式的
URLEncodede:
URLEncode:是指网页url中文字符的编号转换方法,最常见的是Baidu、通过在Google等搜索引擎中输入中文查看,形成通过 Encode完成的网页URL。
一般有两种形式的URLEncode,一种是基于GB2312的传统Encode(Baidu、Yisou使用),一个是 Encodede根据UTF-8(Google,Yahoo使用)。
一般有两种形式的URLEncode,一种是基于GB2312的传统Encode(Baidu、Yisou使用),一个是 Encodede根据UTF-8(Google,Yahooo使用)。本专用工具分别完成两种形式的Encode和Decode。
汉语 -> Encodede,GB2312 -> ����
汉语 -> UTF-8.Encode -> 汉语
Html中的URLEncodede:
在GB2312的html文档中,编号为GB2312,
http://ud03.kinoko.name/汉语.rar -> 计算机浏览器自动转换为 -> http://ud03.kinoko.name/����.rar
注:firefox不适用于GB2312Encode的中文URL,因为他默认是UTF-8号推URL,可是ftp://协议可以,我试试。我认为这应该是Firefox的bug.
在UTF-8的html文档中,编号为UTF-8,
http://ud03.kinoko.name/汉语.rar -> 计算机浏览器自动转换为 -> http://ud03.kinoko.name/汉语.rar
URLEncodede,PHP中的URLEncodede:
- ////GB2312Encodede
- echo urlencode("中文-_. ")." "; //����-_.
- echo urldecode("����-_. ")." "; //中文-_.
- echo rawurlencode("中文-_. ")." "; //����-_.
- echo rawurldecode("����-_. ")." "; //中文-_.
- ?>
除开 -_. 除此之外,所有非字母数字符都将被百分号(%)脚跟二位十六进制数取代。
urlencode和rawurlencode的区别:
urlencode 将空格符号编号为减号( )
rawurlencode 将空格符号编号为减号( )
有两种方法可以应用UTF-8Encode:
将文件存储为UTF-8文档,直接使用urlencodede、rawurlencode就够了。
二、应用mb__convert_encoding函数公式。 应用mb_convert_encoding函数公式。Php编码
?>- $url = 'http://ud03.kinoko.name/汉语.rar'
- ; echo urlencode(mb_convert_encoding($url, 'utf-8', 'gb2312'))." "
- ; echo rawurlencode(mb_convert_encoding($url, 'utf-8', 'gb2312'))." "
- ; //http://ud03.kinoko.name/汉语.rar
案例:Php编码
?>- function parseurl($url=""
- )
- { $url = rawurlencode(mb_convert_encoding($url, 'gb2312', 'utf-8'
- )); $a = array(":", "/", "@"
- ); $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/����/����.rar