Uważam, że jest to najłatwiejszy sposób radzenia sobie z tym
echo json_encode($array, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
JSON_PRETTY_PRINT - sprawia, że jest czytelny
JSON_UNESCAPED_UNICODE - poprawnie koduje znaki
JSON_UNESCAPED_SLASHES - pozbywa się znaku escape '\'
zwróć też uwagę, że te opcje są oddzielone kreską '|'