Вы не можете вывести что-либо до установки заголовка. Если вы не используете выходной буфер (ob_
функции):
ob_start();
echo json_encode($rows[0]);
header('Content-Type: application/json');
echo json_encode($rows, JSON_PRETTY_PRINT);
ob_end_flush();
Или вы можете изменить порядок в вашем скрипте:
header('Content-Type: application/json');
echo json_encode($rows[0]);
echo json_encode($rows, JSON_PRETTY_PRINT);
Последняя опция может привести к ошибке синтаксического анализа JSON, поскольку вы выводите здесь два «объекта».
Ошибка json_last_error
, о которой вы упомянули, относится к кодировке UTF-8. Вы можете попробовать utf8 кодировать и декодировать ваш JSON.
json_encode($rows, JSON_UNESCAPED_UNICODE);
json_decode($json, false, 512, JSON_UNESCAPED_UNICODE);
Если это не решит проблему, вы можете проверить, все ли в кодировке UTF-8 .