从MySQL的JSON打破
我有一个问题,存储在mysql文本字段中的json,事情是,一切都OK,直到我使用'(单引号)json然后保存\',每次我将它保存回来追加一个斜杠,如:\ '\\' \\”等从MySQL的JSON打破
则有些字符编码不正确\ u00e0
<div class="wpbs-calendar-legend" data-info="{"default":{"name":{"default":"Available","hr":"Slobodno","cs":"Volno","da":"Ledigt","nl":"Vrij","en":"Available","fr":"Libre","de":"Frei","hu":"Szabad","it":"Libero","ro":"Disponobil","ru":"\u0414\u043e\u0441\u0442\u0443\u043f\u043d\u043e","sk":"Vo\u013en\u00fd","es":"Libre","sv":"Ledigt","uk":"B\u0456\u043b\u044c\u043d\u043e","no":""},"color":"#f1ffcc","splitColor":false,"bookable":"yes","auto-pending":"no","sync":"no"},"1":{"name":{"default":"Booked","hr":"Zauzeto","cs":"Obsazeno","da":"Booket","nl":"Bezet","en":"Booked","fr":"Occup\u00e9","de":"Belegt","hu":"Foglalt","it":"Prenotato","ro":"Rezervat","ru":"\u0417\u0430\u043d\u044f\u0442\u043e","sk":"Obsaden\u00fd","es":"Reservado","sv":"Bokat","uk":"\u0417\u0430\u0439\u043d\u044f\u0442\u043e","no":""},"color":"#ff524c","splitColor":false,"bookable":false,"auto-pending":"yes","sync":"yes"},"2":{"name":{"en":">14H","nl":"","et":"","fi":"","fr":"D\u00e8s 14H","de":"","pt":"","ro":"","default":"D\u00e8s 14H"},"color":"#f1ffcc","splitColor":"#ff524c","bookable":"yes","hide":false,"auto-pending":"no","sync":"no"},"3":{"name":{"en":"<12H","nl":"","et":"","fi":"","fr":"Jusqu\\" \u00e0="" 10h","de":"","pt":"","ro":"","default":"jusqu\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'\u00e0="" 10h"},"color":"#ff524c","splitcolor":"#f1ffcc","bookable":"yes","hide":false,"auto-pending":"no","sync":"no"}}'=""></div>
,在我insepct窗口如下所示:
我使用的是WordPress,所以这个json_encoded字符串使用update_option保存到数据库中。我试过对strip_heshes()在update_option上的json编码字符串,但没有解决问题。
有人可以帮助我吗?
感谢您的时间!
它看起来像你的SQL插入是逃避 - 非常正确 - 数据。
现在,当您需要从SQL获取数据时,您需要使用反斜杠删除转义。
因此,如果你的变量是$jsonResult
使用它作为stripslashes($jsonResult)
。
我已经试过了stripslashes,并没有解决我的问题,因为json_encoded字符串使用WordPress的update_option函数保存(需要编辑问题以反映我使用wordpress) –
转义不起作用。添加斜杠,将结果发送到数据库,斜杠由SQL解析器使用,不包含在数据库中存储的数据中。 – Quentin
不,不是细节,不是细线。如果从json_encode()
得到了JSON,使用一个额外的参数,以避免“统一”的编码:在
$x = json_encode($s, JSON_UNESCAPED_UNICODE);
见例2 http://php.net/manual/en/function.json-encode.php (需要PHP 5.4.0)
的数据信息是htmlentity编码。 – Daniel