PHP - json_encode (cadena, JSON_UNESCAPED_UNICODE) no escapa caracteres checos

Estoy seleccionando algunos datos de la base de datos y codificándolos como json, pero tengo un problema con signos checos como

á, í, ř, č, ž ...

Mi archivo está en codificación utf-8, mi base de datos también está en codificación utf-8, también he configurado el encabezado en codificación utf-8. ¿Qué más debo hacer por favor?

Mi código:

header('Content-Type: text/html; charset=utf-8');
while($tmprow = mysqli_fetch_array($result)) {
        $row['user'] = mb_convert_encoding($tmprow['user'], "UTF-8", "auto");
        $row['package'] = mb_convert_encoding($tmprow['package'], "UTF-8", "auto");
        $row['url'] = mb_convert_encoding($tmprow['url'], "UTF-8", "auto");
        $row['rating'] = mb_convert_encoding($tmprow['rating'], "UTF-8", "auto");

        array_push($response, $row);
    }

    $json = json_encode($response, JSON_UNESCAPED_UNICODE);

    if(!$json) {
        echo "error";
    }

y parte del json impreso:"package":"zv???tkanalouce"

EDITAR: Sin la función mb_convert_encoding (), la cadena impresa está vacía y se imprime "error".

Respuestas a la pregunta(1)

Su respuesta a la pregunta