我在google和stackoverflow中搜索了很多,但是找不到解决方案。PHP json_decode返回null
我有以下的JSON从DB来:
{"nome":"Tést","curso":"Educação Infantil","serie":"1ª Etapa 1011"}
正如你所看到的,也有未保存为Unicode UTF8一些字符。 当我尝试解码这个json时,它返回null和json_last_error返回。
有没有人有解决方案?
我在google和stackoverflow中搜索了很多,但是找不到解决方案。PHP json_decode返回null
我有以下的JSON从DB来:
{"nome":"Tést","curso":"Educação Infantil","serie":"1ª Etapa 1011"}
正如你所看到的,也有未保存为Unicode UTF8一些字符。 当我尝试解码这个json时,它返回null和json_last_error返回。
有没有人有解决方案?
使用方法如下。与单引号一起使用;
$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);
?>
也适用于我! –
不适合我 –
@RakeshSharma怎么样?我提供了演示。不适合你的演示吗? –
尝试
$utfstr= mb_convert_encoding($str ,"UTF-8");
$output = json_decode($utfstr, true);
这工作完美!非常感谢! :) –
你的欢迎:) –
错误5是'JSON_ERROR_UTF8'。我认为你需要以其他方式格式化字符''(如果可能的话)。 – Padarom
你使用哪个版本的php? –
我使用的是PHP 5.3.3-7 –