Hej.
Od razu napiszę, że szukałem w googlach ale żadne znalezione tam rozwiązanie mi nie pomogło :)

Kod wyswietlający dane z MySQL w formacie JSON:

<?php
header('Content-Type: application/json; Charset=UTF-8');

$connection = mysqli_connect("XXX","XXX","XXX","XXX") or die("Error " . mysqli_error($connection));

$sql = "SELECT * FROM tabela ORDER BY id DESC";
$result = mysqli_query($connection, $sql) or die("Error in Selecting " . mysqli_error($connection));

$emparray = array();
while($row =mysqli_fetch_assoc($result))
    {
        $emparray[] = $row;
    }
echo json_encode($emparray, JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT);

mysqli_close($connection);

?>

Gdy w którymś z rekordów znajduje się polski znak to skrypt nic nie wyświetla.
Gdy eksportuje dane do JSON z panelu to zamienia polskie znaki np: ą -> \u0105
W tabeli wszystko jest ok, czyli polskie znaki są wyświetlane poprawnie, gdy za pomocą skryptu wyświetlam dane na stronie też wszystko jest ok.
Nie działa tylko JSON :/

Kodowanie tabeli i kolumn jest w utf8_polish_ci

Mocno na tym utknąłem :/

edit:
znalazłem rozwiązanie :)
Gdyby ktoś potrzebował to wystarczy dodać

$connection -> set_charset("utf8");

... i działa :)