以下是代码:
try{
//The exception is thrown.
throw new Exception('Parâmetros de consulta inválidos');
// and in the catch block it's caught successfully:
}catch(Exception $e){
echo $e->getMessage(); //This prints the message correctly.
$output = json_encode(array('msg'=>$e->getMessage()));
echo $output; //But this fails...displays {"msg":null}
}
这里有什么问题?
答案 0 :(得分:1)
问题在于角色â和á。事实上,如果你用简单的a替换它们,你就会得到正确的信息。
替换此行:
array('msg'=>$e->getMessage())
用这个:
array('msg'=>utf8_encode($e->getMessage()))
您必须执行此更改,因为json_encode适用于ut8,因为您可以阅读here。
答案 1 :(得分:1)
如果使用PHP版本> = 5.4.0,则应使用JSON_UNESCAPED_UNICODE标志调用json_encode函数。 http://php.net/manual/en/function.json-encode.php