我在google和stackoverflow中搜索了很多,但找不到解决方案。
我有以下json来自DB:
{"nome":"Tést","curso":"Educação Infantil","serie":"1ª Etapa 1011"}
正如您所看到的,有一些utf8字符未保存为unicode。 当我尝试解码这个json时,它返回 null ,json_last_error返回 5 。
有没有人有解决方案?
答案 0 :(得分:3)
使用如下。与单引号一起使用;
$a = '{"nome":"Tést","curso":"Educação Infantil","serie":"1ª Etapa 1011"}';
var_dump(json_decode($a));
以下是工作演示: codepad
如果不起作用,或者您可以使用iconv将您的stirng转换为utf-8并解码为;
<?php
$a = '{"nome":"Tést","curso":"Educação Infantil","serie":"1ª Etapa 1011"}';
$a = iconv('UTF-8', 'UTF-8//IGNORE', utf8_encode($a));
$json = json_decode($a);
var_dump($json);
?>
答案 1 :(得分:1)
试
$utfstr= mb_convert_encoding($str ,"UTF-8");
$output = json_decode($utfstr, true);