Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Apa yang perlu dilakukan jika php json ditukar kepada kod berantakan tatasusunan

Apa yang perlu dilakukan jika php json ditukar kepada kod berantakan tatasusunan

PHPz
PHPzasal
2023-04-27 16:39:13556semak imbas

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:

  1. Buka fail php.ini

Masukkan arahan berikut dalam terminal untuk membuka fail php.ini:

sudo vi /etc/php/7.3/apache2/php.ini
  1. Ubah suai set aksara lalai

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"
  1. Mulakan semula Apache

Selepas menyimpan fail php.ini, anda perlu memulakan semula Apache untuk perubahan berkuat kuasa:

sudo service apache2 restart
  1. Ujian

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!

Kenyataan:
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