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

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

Jun 06, 2016 pm 08:38 PM
urlencode pengekodan 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
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk menyelesaikan pengecualian penyahkodan URL dalam pembangunan Java Bagaimana untuk menyelesaikan pengecualian penyahkodan URL dalam pembangunan Java Jun 29, 2023 pm 02:07 PM

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: Cara mengekod rentetan ke dalam format selamat URL Fungsi urlencode() PHP: Cara mengekod rentetan ke dalam format selamat URL Nov 03, 2023 pm 12:39 PM

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

Cara menggunakan fungsi urllib.parse.quote() untuk mengekod URL dalam Python 3.x Cara menggunakan fungsi urllib.parse.quote() untuk mengekod URL dalam Python 3.x Jul 31, 2023 pm 10:46 PM

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 Python 3.x Cara menggunakan fungsi urllib.parse.urlencode() untuk mengekod parameter dalam Python 3.x Aug 03, 2023 pm 03:18 PM

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

Kod URL menggunakan fungsi urlencode() dalam PHP Kod URL menggunakan fungsi urlencode() dalam PHP Nov 18, 2023 am 08:53 AM

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 Python 2.x Cara menggunakan fungsi urllib.quote() untuk mengekod URL dalam Python 2.x Jul 31, 2023 pm 08:37 PM

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

Cara menggunakan fungsi urlencode untuk mengekod URL dalam PHP Cara menggunakan fungsi urlencode untuk mengekod URL dalam PHP Jun 26, 2023 pm 12:48 PM

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

Kod URL menggunakan fungsi encodeURI dalam JavaScript Kod URL menggunakan fungsi encodeURI dalam JavaScript Nov 18, 2023 am 10:37 AM

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&parameter2=value 2" ;//Gunakan fungsi encodeURI untuk mengekod URL yang dikodekan

See all articles