【问题标题】:Json encode php long contents of arrayJson编码数组的php长内容
【发布时间】:2012-07-28 16:21:15
【问题描述】:

我对 php 的 json_encode 有问题,我使用 php 5.2.6,我从服务器接收到这些数据:

Array (… => Array ( [codIdenVerb] => 276122 [codAppe] => 778033 [codCorsoStud] => 00688 [descrizione] => PSICOLOGIA SOCIALE [crediti] => 9.0 [canale] => NESSUNA CANALIZZAZIONE [docente] => TONI ALESSANDRO [facolta] => SCIENZE POLITICHE, SOCIOLOGIA, COMUNICAZIONE [annoAcca] => 2012 [dataAppe] => 25/09/2012 .........

...

[note] => La prova scritta si svolgerà il giorno 10 settembre presso l'aula Magna a partire dalle ore 10.oo. La prova orale si svolgerà il giorno 25 settembre presso l'aula B14 a partire dalle ore 9.30. Si ricorda, inoltre, che la prenotazione su INFOSTUD per la data della prova ora è valida e necessaria per sostenere la prova scritta. 

..

[dataInizioPrenotazione] => 06/05/2012 [dataFinePrenotazione] => 30/08/2012 [questionario] => false [SiglaModuloDidattico] => 1010544 ) [7] => Array…)

对于编码我使用 $json_string = json_encode($data);

但是带有 [note] 的部分被剪掉了:“note”:“La prova s​​critta si svolger”,“...”
问题出在哪里?怎么解决?谢谢!

【问题讨论】:

    标签: php json


    【解决方案1】:

    json_encode() 期望传入数据为 UTF-8。

    您传递给它的数据可能不是 UTF-8。

    找出它的编码,并调整输入编码或使用例如iconv() 将数据从原始编码转换为 UTF-8。

    【讨论】:

    • 您好 tnks 响应,但我尝试了这个:$text = "这是欧元符号 '€'。"; echo '原文:', $text, PHP_EOL; echo 'TRANSLIT : ', iconv("UTF-8", "ISO-8859-1//TRANSLIT", $text), PHP_EOL; echo 'IGNORE : ', iconv("UTF-8", "ISO-8859-1//IGNORE", $text), PHP_EOL; echo 'Plain : ', iconv("UTF-8", "ISO-8859-1", $text), PHP_EOL;但我看到了: 原文:这是欧元符号'‰â'。 TRANSLIT : 这是欧元符号 ' IGNORE : 这是欧元符号 ''。平原:这是欧元符号'为什么?
    • @user 你的意思是反过来,不是吗? UTF-8 必须是您的 target 字符集
    • 是的,你没看错,我试过这个:$string=iconv('ISO-8859-1//TRANSLIT//IGNORE','UTF-8', "sàs"); $json_string = json_encode($string); print_r($json_string);但我看到“s\u00c3\u00a0s”,怎么能看到 sàa?感谢您的时间和耐心,我是 php 新手。
    • @user s\u00c3\u00a0s 实际上是正确的,它是 JSON 编码非 ASCII 字符的方式。当您使用适当的解析器(如 jQuery 的 .getJSON() 或您用来获取它的任何东西)解析 JSON 时,您会看到字符再次看起来不错。
    • 好的,谢谢!在你的帮助下我已经解决了!真的非常感谢!
    猜你喜欢
    • 1970-01-01
    • 2023-03-12
    • 1970-01-01
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多