Dalam pembangunan, banyak kali kita perlu menghantar parameter Cina ke bahagian belakang Walau bagaimanapun, apabila menggunakan kaedah GET untuk lulus parameter, kita mungkin menghadapi masalah aksara Cina yang kacau. Artikel ini akan memperkenalkan cara untuk mengelakkan aksara Cina yang kacau dan memastikan integriti data.
Apabila menghantar parameter dalam mod GET, kami biasanya menghantar parameter dalam bentuk parameter URL, contohnya:
http://example.com?name=张三&age=18
Walau bagaimanapun, apabila parameter mengandungi aksara Cina, aksara bercelaru mungkin berlaku. Contohnya:
http://example.com?name=%D5%C5%BB%F9&age=18
Ini kerana aksara Cina akan ditukar kepada bentuk yang dikodkan URL dan bahagian belakang tidak dapat memproses rentetan yang dikodkan dengan betul, mengakibatkan aksara yang bercelaru.
2.1. Fungsi urlencode()
PHP menyediakan fungsi urlencode() untuk rentetan pengekodan URL , termasuk. aksara Cina. Kita boleh mengekod parameter melalui fungsi urlencode(), contohnya:
$name = urlencode('张三'); $age = 18; $url = "http://example.com?name=$name&age=$age";
Apabila mengakses URL, ia akan dinyahkod secara automatik dan parameter akan dihantar dengan betul untuk mengelakkan masalah aksara Cina yang kacau.
2.2. urldecode() function
Apabila bahagian belakang menerima parameter yang dikodkan, ia perlu menggunakan fungsi urldecode() untuk menyahkod rentetan yang dikodkan, contohnya:
$name = urldecode($_GET['name']); $age = $_GET['age'];
2.3. Fungsi rawurlencode()
Selain itu, PHP juga menyediakan fungsi rawurlencode(), yang digunakan untuk mengekod rentetan URL mengikut RFC 3986 sebagai standard, termasuk aksara Cina. Apabila menggunakan GET untuk lulus parameter Cina, adalah disyorkan untuk menggunakan fungsi rawurlencode() untuk mengelakkan aksara Cina yang kacau.
Dengan menggunakan fungsi urlencode() untuk mengekod parameter Cina, dan menggunakan fungsi urldecode() untuk menyahkod parameter, masalah aksara Cina bercelaru boleh menjadi dielakkan dengan baik. Pada masa yang sama, adalah disyorkan untuk menggunakan fungsi rawurlencode() untuk mengekod URL mengikut piawaian RFC 3986 untuk memastikan integriti data.
Atas ialah kandungan terperinci Bagaimana untuk mengelakkan aksara Cina yang kacau apabila menghantar parameter dalam php get? Pengenalan kaedah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!