Rumah > Artikel > pembangunan bahagian belakang > Apakah yang perlu saya lakukan jika Android memberikan php aksara Cina bercelaru?
Penyelesaian kepada aksara Cina yang bercelaru Android dalam PHP: 1. Buka fail PHP yang sepadan 2. Sebelum "json_encode", gunakan "urlencode()" untuk memproses semua kandungan dalam semua tatasusunan; ()" menjadi rentetan json; 4. Gunakan "urldecode()" untuk menukar kembali bahasa Cina yang dikodkan.
Persekitaran pengendalian tutorial ini: sistem Windows 7, PHP versi 8.1, komputer Dell G3.
Apakah yang perlu saya lakukan jika Android memberikan php aksara Cina bercelaru?
1 Android sendiri tidak boleh mengakses pangkalan data mysql secara langsung Anda perlu menggunakan halaman web PHP untuk menyelesaikan operasi pangkalan data mysql. Pertukaran data antara PHP dan Android memerlukan penggunaan format JSON.
2. Apakah itu json
Pada awal abad ke-21, Douglas Crockford sedang mencari format pertukaran data mudah yang boleh bertukar-tukar data antara pelayan. Bahasa pertukaran data biasa pada masa itu ialah XML, tetapi Douglas Crockford merasakan penjanaan dan penghuraian XML terlalu menyusahkan, jadi dia mencadangkan format yang dipermudahkan, iaitu Json.
Spesifikasi Json adalah sangat mudah dan boleh dijelaskan dengan jelas hanya dalam beberapa ratus perkataan pada halaman, dan Douglas Crockford mendakwa bahawa spesifikasi ini tidak perlu dinaik taraf kerana semua peraturan telah ditetapkan.
1) Data selari dipisahkan dengan koma (", ").
2) Pemetaan diwakili oleh titik bertindih (": ").
3) Pengumpulan (tatasusunan) data selari diwakili oleh kurungan segi empat sama ("[]").
4) Koleksi yang dipetakan (objek) diwakili oleh kurungan kerinting ("{}").
Empat peraturan di atas adalah semua kandungan format Json.
Sebagai contoh, ayat berikut:
"Beijing mempunyai keluasan 16,800 kilometer persegi dan penduduk tetap 16 juta. Shanghai mempunyai keluasan 6,400 kilometer persegi dan penduduk kekal 18 juta.
ditulis dalam format json seperti ini:
[ {"城市":"北京","面积":16800,"人口":1600}, {"城市":"上海","面积":6400,"人口":1800}]
Jika struktur data diketahui lebih awal, kaedah penulisan di atas boleh dipermudahkan lagi:
[ ["北京",16800,1600], ["上海",6400,1800]]
Seperti yang anda lihat, JSON sangat mudah dipelajari dan digunakan Oleh itu, dalam beberapa tahun sahaja, ia telah menggantikan xml dan menjadi format pertukaran data yang paling popular di Internet 🎜>3. Kod kacau JSON dalam PHP
Gunakan fungsi terbina dalam json_encode() dalam php (php > 5.2) untuk memindahkan data dalam php ke bahasa lain dan menggunakannya fungsi ini adalah untuk menukar nilai ke dalam format storan data json
Keputusan menjalankan program adalah seperti berikut:<?php $arr = array( 'Name'=>'希亚','Age'=>20); $jsonencode = json_encode($arr); echo $jsonencode; ?>
Orang Cina. aksara dalam tatasusunan muncul seperti u5e0cu4e9a selepas json_encode Fungsi urlencode() digunakan untuk memproses yang berikut Sebelum json_encode, semua kandungan dalam semua tatasusunan diproses dengan urlencode() digunakan untuk menukarnya. menjadi rentetan json. Akhirnya, urldecode() digunakan untuk menukar bahasa Cina yang dikodkan Kembali
Kali ini kod berjaya dijalankan<?php /************************************************************** * * 使用特定function对数组中所有元素做处理 * @param string &$array 要处理的字符串 * @param string $function 要执行的函数 * @return boolean $apply_to_keys_also 是否也应用到key上 * @access public * *************************************************************/ function arrayRecursive(&$array, $function, $apply_to_keys_also = false) { static $recursive_counter = 0; if (++$recursive_counter > 1000) { die('possible deep recursion attack'); } foreach ($array as $key => $value) { if (is_array($value)) { arrayRecursive($array[$key], $function, $apply_to_keys_also); } else { $array[$key] = $function($value); } if ($apply_to_keys_also && is_string($key)) { $new_key = $function($key); if ($new_key != $key) { $array[$new_key] = $array[$key]; unset($array[$key]); } } } $recursive_counter--; } /************************************************************** * * 将数组转换为JSON字符串(兼容中文) * @param array $array 要转换的数组 * @return string 转换得到的json字符串 * @access public * *************************************************************/ function JSON($array) { arrayRecursive($array, 'urlencode', true); $json = json_encode($array); return urldecode($json); } $array = array ( 'Name'=>'希亚','Age'=>20); echo JSON($array); ?>Pembelajaran yang disyorkan: "
Tutorial Video PHP"
Atas ialah kandungan terperinci Apakah yang perlu saya lakukan jika Android memberikan php aksara Cina bercelaru?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!