Вы должны сообщить браузеру, что нужно интерпретировать данные как UTF-8, отправив заголовок HTTP перед выводом фактического JSON следующим образом:
header ('Content-Type: application / json; charset = utf-8');
Обратите внимание, что заголовки должны отправляться перед любым другим выводом. Вы, вероятно, должны прочитать спецификации HTTP и узнать, как используются заголовки. Вот ссылка для начала с отправкой HTTP-заголовков в PHP.
UPDATE
В таком случае, когда были отправлены правильные заголовки, важно убедиться, что языковые настройки на вашем тестовом компьютере допускают символы UTF-8. Если локаль по умолчанию в вашей системе не поддерживает UTF-8, и у вас не установлено ни одного такого приложения, вы никогда не увидите правильный вывод. Вы можете прочитать немного больше об этом здесь