Ixazululiwe: unhlokweni utf8 json

Isibuyekezo sokugcina: 09/19/2023

Lapha kuqala umhlahlandlela onemininingwane wokuphatha izinto ze-UTF-8 ezifakwe ikhodi ze-JSON ku-PHP. Ukuqonda ukuphathwa kwezinto ze-JSON ezinekhodi ye-UTF-8 kubalulekile ekuthuthukiseni izinhlelo zokusebenza ezibhekana nedatha ye-JSON, njengoba kuvumela idatha ukuthi ifakwe ikhodi ngendlela efanele futhi ikhishwe ikhodi ngaphandle kwezinkinga ngokumelwa kwezinhlamvu.

Kulezi zinsuku, izinhlelo zokusebenza ze-PHP zivame ukubhekana nedatha ye-JSON, futhi ukuqinisekisa ukuthi idatha ifakwe ikhodi ngendlela efanele ku-UTF-8 ngokuvamile kuyinselelo ebalulekile onjiniyela abaningi ababhekana nayo. Kodwa, ungakhathazeki! Kulo mhlahlandlela, sizobe sihlola ukuthi ungaphatha kanjani idatha ye-JSON enekhodi ye-UTF-8 ku-PHP.

Ukuqonda i-UTF-8 JSON ku-PHP

UTF-8 imodeli ejwayelekile yombhalo wekhodi esetshenziselwa ukumela izinhlamvu ngokwedijithali. Isizathu sokuthi isetshenziswe kabanzi ingoba ingamela izinhlamvu eziningi (izinhlamvu ezingaphezu kwesigidi), kuzo ezicishe zibe yi-128,000 ezimisiwe.

I-JSON ngakolunye uhlangothi, ifomethi yedatha esetshenziselwa ukumela idatha ehlelekile ngendlela efundeka umuntu. Lokhu kwenze i-JSON yaduma kakhulu ngokuthumela idatha isuka ohlangothini lweseva iye kuhlelo lokusebenza oluseceleni kweklayenti, futhi ngokuphambene nalokho, ikakhulukazi ezinhlelweni zokusebenza zewebhu. I-JSON, ngokwencazelo, isekela umbhalo wekhodi we-UTF-8 futhi yonke i-JSON evumelekile kufanele ifakwe ikhodi ku-UTF-8.

Kodwa-ke, inkinga ivela ngoba akuyona yonke imisebenzi ye-PHP ephephile nge-UTF-8 ngokuzenzakalela.

Isixazululo – Ukufaka ikhodi kanye nokukhipha amakhodi UTF-8 JSON

Ngaphambi kokuthi sijule kukhodi, kubalulekile ukuthi sijwayelane nemisebenzi engukhiye ye-PHP esizothembela kuyo ekubhaleni ngekhodi nasekukhipheni amakhodi idatha ye-JSON.

  • json_encode(): Lo msebenzi ungathatha i-PHP associative array noma into, futhi uzokhipha iyunithi yezinhlamvu efomethiwe ye-JSON.
  • json_decode(): Yenza okuphambene kwalokhu okungenhla - ithatha iyunithi yezinhlamvu efomethiwe ye-JSON bese iyiguqulela kuhlelo oluhlangene noma into eku-PHP.

Ake sibone ukuthi singakusebenzisa kanjani lokhu kumongo womhlaba wangempela.

Isinyathelo Ngesinyathelo Isicelo ku-PHP

Into yokuqala okudingeka siyenze ukuqinisekisa ukuthi sisebenza ngeyunithi yezinhlamvu evumelekile ye-UTF-8.

<?php
$validUtf8Str = mb_convert_encoding($str, 'UTF-8', 'UTF-8');
?>

Umsebenzi we-mb_convert_encoding usindisa impilo uma kuziwa ekusebenzeni ngeyunithi yezinhlamvu ze-UTF-8.

Uma sesineyunithi yezinhlamvu evumelekile ye-UTF-8, singabe sesiqhubeka sibhala iyunithi yezinhlamvu ibe yinto ye-JSON, kanje:

<?php
$jsonObj = json_encode($validUtf8Str);
?>

Uma kukhulunywa ngokukhipha amakhodi idatha, simane sidinga ukusebenzisa umsebenzi we-json_decode.

<?php
$decodedStr = json_decode($jsonObj);
?>

Ukufunda Okwengeziwe

Ukuze ufunde okwengeziwe, ngingaphakamisa ukubheka i- php.net imibhalo ivuliwe json_encode() futhi json_decode() imisebenzi, ukuze uqonde wonke ama-nuances namapharamitha ongawakhetha asekelwa yile misebenzi. Lokhu kuzoqinisekisa ukuthi ulungele noma yiluphi uhlobo lwecala eliwunqenqema noma okuhlukile okungase kwenzeke ngesikhathi sokuthuthukiswa.

Okuthunyelwe okuhlobene: