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

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Cara menyelesaikan pengecualian penyahkodan URL dalam pembangunan Java Dalam pembangunan Java, kami sering menghadapi situasi di mana URL perlu dinyahkod. Walau bagaimanapun, disebabkan kaedah pengekodan yang berbeza atau rentetan URL bukan standard, keabnormalan penyahkodan URL kadangkala berlaku. Artikel ini akan memperkenalkan beberapa pengecualian penyahkodan URL biasa dan penyelesaian yang sepadan. 1. Punca pengecualian penyahkodan URL adalah ketidakpadanan dalam kaedah pengekodan: aksara khas dalam URL perlu dikodkan URL, iaitu, ditukar kepada nilai perenambelasan bermula dengan %. Apabila penyahkodan, anda perlu menggunakan

Fungsi urlencode() PHP: Bagaimana untuk mengekod rentetan ke dalam format selamat URL, contoh kod khusus diperlukan Dengan perkembangan Internet, URL digunakan secara meluas dalam kehidupan seharian, dan kita sering perlu mengekod rentetan dengan beberapa aksara khas. ke dalam format selamat URL untuk menghantar parameter dalam URL atau meminta halaman web. PHP menyediakan fungsi urlencode() untuk menyelesaikan tugas ini. Artikel ini akan memperkenalkan penggunaan fungsi urlencode() dan memberikan beberapa contoh kod khusus. 1. ur

Gunakan fungsi urllib.parse.quote() untuk mengekod URL dalam Python3 Parameter mungkin mengandungi aksara khas. Modul urllib.parse dalam Python menyediakan fungsi petikan(), yang boleh mengekod aksara haram dalam URL ke dalam rentetan URL sah. Artikel ini akan dilalui

Cara menggunakan fungsi urllib.parse.urlencode() untuk mengekod parameter dalam Python3.x Apabila melakukan pengaturcaraan rangkaian atau membuat permintaan HTTP, selalunya perlu mengekod parameter dalam URL. Modul urllib dalam Python menyediakan fungsi urlencode() yang mudah untuk mengekod parameter URL. Artikel ini akan memperkenalkan cara menggunakan fungsi urllib.parse.urlencode() dalam Python3.x

Contoh kod khusus menggunakan fungsi urlencode() dalam PHP untuk mengekod URL adalah seperti berikut: <?php//Tentukan URL untuk dikodkan$url="https://www.example.com/search?q =Pertanyaan Cina ";//Encode URL $encodedUrl=urlencode($url);echo" sebelum mengekod

Cara menggunakan fungsi urllib.quote() untuk mengekod URL dalam URL Python 2.x mengandungi pelbagai aksara, termasuk huruf, nombor, aksara khas, dsb. Untuk membolehkan URL dihantar dan dihuraikan dengan betul, kita perlu mengekodkan aksara khas di dalamnya. Dalam Python2.x, anda boleh menggunakan fungsi urllib.quote() untuk mengekod URL Mari perkenalkan penggunaannya secara terperinci di bawah. urllib.quote

Dalam pembangunan moden, menghantar data melalui URL adalah cara biasa. Walau bagaimanapun, kerana URL mungkin mengandungi beberapa aksara khas, seperti ruang, garis miring dan tanda soal, aksara khas ini akan memusnahkan struktur URL dan menyebabkan penghantaran data gagal. Untuk mengelakkan situasi ini, PHP menyediakan fungsi urlencode, yang boleh mengekod URL ke dalam format yang boleh diangkut. Penggunaan fungsi urlencode adalah sangat mudah Sintaksnya adalah seperti berikut: stringurlencode(string

Gunakan fungsi encodeURI dalam JavaScript untuk mengekod URL Kami boleh menunjukkannya dengan contoh kod berikut: //original URLconsturlString="https://www.example.com/path/file.html?parameter=value¶meter2=value 2" ;//Gunakan fungsi encodeURI untuk mengekod URL yang dikodekan
