Rumah > Artikel > pembangunan bahagian belakang > Apa yang perlu dilakukan jika php json ditukar kepada kod berantakan tatasusunan
Apabila menukar php json kepada tatasusunan, anda sering menghadapi masalah kod bercelaru. Punca masalah ini adalah ketidakkonsistenan set watak.
Set aksara lalai Java, Python dan bahasa lain ialah utf-8, manakala set aksara lalai php ialah ISO-8859-1. Oleh itu, apabila memproses rentetan json, jika set aksara rentetan json ialah utf-8, dan set aksara php ialah ISO-8859-1, maka tatasusunan yang ditukar akan menjadi kacau.
Mari kita lihat cara untuk menyelesaikan masalah ini.
1. Tentukan set aksara rentetan json
Apabila kita mengetahui set aksara rentetan json, kita boleh menyelesaikan masalah dengan menentukan set aksara.
Kod contoh:
$json_str = iconv('utf-8','ISO-8859-1',$json_str); //将json字符串的字符集从utf-8转换为ISO-8859-1 $arr = json_decode($json_str, true); //将json字符串转换成数组
2 Tukar set aksara lalai PHP
Apabila kita tidak dapat mengetahui set aksara rentetan json, atau apabila kita perlu memproses yang besar. bilangan rentetan json, set aksara lalai PHP boleh ditukar. Dengan cara ini, tidak akan ada aksara yang bercelaru semasa memproses sebarang rentetan json.
Cara untuk menukar set aksara lalai php adalah dengan mengubah suainya dalam fail php.ini. Kita boleh melengkapkan operasi ini melalui langkah berikut:
Masukkan arahan berikut dalam terminal untuk membuka fail php.ini:
sudo vi /etc/php/7.3/apache2/php.ini
Dalam fail php.ini, cari dua baris berikut, nyahkomen dan ubah suai set aksara kepada utf-8:
;default_charset = "iso-8859-1" default_charset = "utf-8"
Selepas menyimpan fail php.ini, anda perlu memulakan semula Apache untuk perubahan berkuat kuasa:
sudo service apache2 restart
Selepas menukar set aksara lalai php, kami boleh menguji sama ada rentetan json boleh dihuraikan dengan betul. Kod contoh:
$arr = json_decode($json_str, true); //将json字符串转换成数组
Ringkasan
Menukar json kepada pelbagai aksara berantakan ialah masalah biasa, tetapi ia juga merupakan masalah yang mudah untuk diselesaikan. Kita boleh menyelesaikan masalah ini dengan menentukan set aksara rentetan json atau menukar set aksara lalai PHP. Sama ada cara, anda perlu memahami konsep set aksara untuk menukar dengan betul.
Atas ialah kandungan terperinci Apa yang perlu dilakukan jika php json ditukar kepada kod berantakan tatasusunan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!