Dalam pembangunan web, selalunya perlu menukar tatasusunan dalam PHP kepada format JSON untuk memuatkan data pada halaman secara dinamik. Walau bagaimanapun, semasa proses menukar tatasusunan kepada JSON, masalah pengekodan bahasa Cina mungkin berlaku, menghalang data daripada dipaparkan secara normal. Artikel ini akan membincangkan cara menapis isu pengekodan Cina dalam proses menukar tatasusunan PHP kepada JSON untuk memastikan data dipaparkan secara normal pada halaman.
1. Tukar tatasusunan PHP kepada JSON
Dalam PHP, gunakan fungsi json_encode() untuk menukar tatasusunan kepada format JSON. Contohnya, jika anda mempunyai tatasusunan berikut:
$arr = array( "name" => "张三", "age" => 25, "gender" => "男" );
anda boleh menukarnya kepada format JSON melalui kod berikut:
$json = json_encode($arr); echo $json; // 输出:{"name":"张三","age":25,"gender":"男"}
2. Masalah pengekodan bahasa Cina
Walau bagaimanapun, apabila tatasusunan mengandungi bahasa Cina Apabila menggunakan aksara, format JSON yang ditukar mungkin mengalami masalah pengekodan. Sebagai contoh, tukar tatasusunan berikut kepada format JSON:
$arr = array( "name" => "李四", "age" => 30, "gender" => "男", "desc" => "这是一个描述,包含中文字符" );
Gunakan fungsi json_encode() untuk menukarnya kepada format JSON:
$json = json_encode($arr); echo $json; // 输出:{"name":"u674eu56db","age":30,"gender":"u7537","desc":"u8fd9u662fu4e00u4e2au63cfu8ff0uff0cu5305u542bu4e2du6587u5b57u7b26"}
Seperti yang anda lihat, aksara Cina dikodkan sebagai aksara Unicode dan tidak boleh digunakan dalam dipaparkan seperti biasa pada halaman. Ini kerana secara lalai, fungsi json_encode() mengekod aksara bukan ASCII ke dalam aksara Unicode untuk memindahkan data antara platform yang berbeza.
3. Tapis Bahasa Cina
Untuk menyelesaikan masalah pengekodan Cina, anda boleh menggunakan parameter JSON_UNESCAPED_UNICODE untuk menapis aksara Cina. Parameter ini membenarkan fungsi json_encode() untuk tidak mengekod aksara Cina ke dalam aksara Unikod apabila menukar JSON, tetapi untuk mengeluarkan aksara Cina secara langsung.
Ubah suai kod di atas seperti berikut:
$json = json_encode($arr, JSON_UNESCAPED_UNICODE); echo $json; // 输出:{"name":"李四","age":30,"gender":"男","desc":"这是一个描述,包含中文字符"}
Anda boleh melihat bahawa aksara Cina telah dikeluarkan seperti aksara lain dan boleh dipaparkan seperti biasa pada halaman.
4. Ringkasan
Apabila menukar tatasusunan PHP kepada format JSON, jika tatasusunan mengandungi aksara Cina, anda perlu memberi perhatian kepada isu pengekodan bahasa Cina. Anda boleh menggunakan parameter JSON_UNESCAPED_UNICODE untuk menapis aksara Cina bagi memastikan data dipaparkan secara normal pada halaman.
Atas ialah kandungan terperinci Tukar tatasusunan php kepada json untuk menapis bahasa Cina. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!