Bagaimana untuk Menyahkod URL Berkod UTF-8 Di luar urldecode() dalam PHP?

Susan Sarandon
Lepaskan: 2024-10-17 15:08:02
asal
256 orang telah melayarinya

How to Decode UTF-8 Encoded URLs Beyond urldecode() in PHP?

Penyahkodan URL dalam PHP: Di luar urldecode()

Fungsi urldecode() PHP ialah alat yang berharga untuk menyahkod rentetan yang dikodkan URL. Walau bagaimanapun, ia boleh gagal apabila rentetan juga dikodkan UTF-8.

Masalahnya:

Pertimbangkan rentetan yang dikodkan URL berikut:

Ant%C3%B4nio+Carlos+Jobim
Salin selepas log masuk

Percubaan untuk menyahkodnya menggunakan urldecode() menghasilkan output berikut:

Antônio Carlos Jobim
Salin selepas log masuk

Daripada "Antônio Carlos Jobim" yang dijangkakan.

Penyelesaian:

Untuk menyelesaikan isu ini, kami mesti menyahkod pengekodan UTF-8 juga. Fungsi utf8_decode() PHP berfungsi untuk tujuan ini:

echo utf8_decode(urldecode("Ant%C3%B4nio+Carlos+Jobim"));
Salin selepas log masuk

Ini akan mengeluarkan rentetan yang betul:

Antônio Carlos Jobim
Salin selepas log masuk

Penjelasan:

Pengekodan URL melibatkan menggantikan aksara tertentu dengan rakan heksadesimalnya. Pengekodan UTF-8, sebaliknya, mewakili aksara menggunakan berbilang bait, yang boleh disalahtafsirkan sebagai kod hex. Dengan menggabungkan utf8_decode() dan urldecode(), kami boleh menyahkod rentetan yang telah dikodkan dengan betul dalam kedua-dua format UTF-8 dan URL.

Atas ialah kandungan terperinci Bagaimana untuk Menyahkod URL Berkod UTF-8 Di luar urldecode() dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan