PHP中的json_encode函数对数组(3)进行编码时返回false。

4
我有一个返回多维数组的mysqli查询。我正在尝试对PHP数组进行编码。
array(3) {
  [0]=>
  array(8) {
    ["cod_evento"]=>
    string(1) "3"
    ["titulo"]=>
    string(20) "Fiesta de cumpleaños"
    ["descripcion"]=>
    string(23) "Mi fiesta de cumpleaños"
    ["puntuacion"]=>
    string(1) "1"
    ["direccion"]=>
    string(13) "c/ falsa 1234"
    ["imagen"]=>
    string(115) "http://static.guim.co.uk/sys-images/Guardian/Pix/pictures/2014/4/11/1397210130748/Spring-Lamb.-Image-shot-2-011.jpg"
    ["fecha"]=>
    string(19) "2015-01-01 00:00:00"
    ["cod_usuario"]=>
    string(1) "1"
  }

  [....]
}

但是当我尝试使用json_encode($array)时,它返回bool(false)

当我尝试编码一个数组(2)或(1)时,它可以正常工作。


3
我看不出有任何问题。它应该能正常工作。你可以发更多的代码吗? - Andrei
1
如果编码失败,可以使用 json_last_error() 来确定错误的确切性质... 那么你是否尝试检查一下这个错误是什么? - Mark Baker
谢谢,json_last_error() 返回 JSON_ERROR_UTF8。一个字符串包含了一个ñ。 - javier6_almansa
我该如何在编码中包含这个字符? - javier6_almansa
2个回答

2
错误发生的原因是您的数组包含了非Unicode字符。

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接