所有,Json_encode,json_decode和UTF8
我做一个JSON请求到Web服务器,使用PHP,并将其返回我在一个变量的JSON响应。 JSON响应将包含许多键和值。我从服务器获得的JSON响应中有特殊字符。因此,我使用以下语句将其转换为UTF8,解码JSON并将其用作数组以显示给UI。
$response = json_decode(utf8_encode($jsonresponse));
现在,我必须在JSON请求中将相同的值传递给服务器以完成某些操作。但是,当我通过
$jsonrequest = json_encode(utf8_encode($request));
到服务器,它失败。
以下代码成功读取特殊字符并将其显示到UI。但如果我必须将utf8_encode值传递给服务器,则会失败。
目前整个往返代码是根据:
$requestdata = json_encode($request);
$jsonresponse = //Do something to get from server;
$response = json_decode(utf8_encode($jsonresponse));
如何修改它,这样我通过精确值,以什么我从服务器的JSON响应receieved?
最近我有这个问题,原来我用成为一个狗屎编码器,并在几年前在一段代码中使用require_once作为一个愚蠢的理由。良好的3小时调试。 :) – Jek 2017-10-08 12:25:39
@Jek require_once与编码有什么关系? – Borna 2017-11-14 14:26:06
@博尔纳我不知道为什么,但它解决了我的问题。我花了数小时缩小了我的代码库中编码问题在JSON之前打印出来的位置,并缩小到在类的公共函数中调用require_once。蠢事。 – Jek 2017-11-14 20:06:54