Widzę po dacie, że temat sprzed kilku lat, ale finalnie chyba nie padła ostateczna odpowiedź, więc podsumuję, żeby kolejne osoby co się z tym problemem zetkną znalazły tu rozwiązanie.
Ten problem wynika z konfiguracji serwera PHP. Nie zawsze ma się do niej dostęp, więc najlepiej we własnym pliku ze skryptem php zaraz po ustanowieniu połączenia z bazą danych dodać linijkę, która ustawi kodowanie połączenia:
$connect = @new mysqli($host, $user, $password, $dbName); //połączenie z bazą
$connect->query("SET NAMES 'utf8'"); //ustawienie kodowania
a tu link z listą możliwych kodowań:
https://dev.mysql.com/doc/refman/8.0/en/charset-charsets.html