簡體   English   中英

PHP 相當於 javascript JSON.stringify()

[英]PHP equivalent of javascript JSON.stringify()

正如我注意到 PHP 的json_encode($array)在變音符號上搞砸了。 如果我使用 JSON 通過 HTTP 更新我的數據庫列類型文本,一切看起來都很好。 但是當我將JSON創建為PHP 時,一些字符會被奇怪地編碼。

我有這個數組;

$array = ['M-am întîlnit ieri cu','fosta mea profă de matematică'];

$text = implode(",",$array); // this looks good in db
$json = json_encode($array); // this don't and returns error when try to decode later.

首先,值得指出的是 PHP 並沒有“搞砸”任何事情。 它是 escaping 個字符,這可能看起來很奇怪,但它是完全有效的,當你稍后對它進行json_decode時,它將與原來的一樣。 看這里: https://3v4l.org/Smj2F

如果你不喜歡 escaping,你可以使用JSON_UNESCAPED_UNICODE標志:

https://www.php.net/function.json-encode

該標志將根據https://www.php.net/manual/en/json.constants.php “逐字編碼多字節 Unicode 字符”。

所以你可以這樣做:

json_encode($array, JSON_UNESCAPED_UNICODE);

它會給你以下 output:

["M-am întîlnit ieri cu","fosta mea profă de matematică"]

工作示例: https://3v4l.org/daETG

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM