Osobně jsem vyřešil stejný problém přidáním za kód připojení MySQL :
mysql_set_charset("utf8");
nebo pro mysqli:
mysqli_set_charset($conn, "utf8");
nebo ekvivalent mysqli OOP:
$conn->set_charset("utf8");
A někdy budete muset definovat hlavní znakovou sadu php přidáním tohoto kódu:
mb_internal_encoding('UTF-8');
Na straně HTML klienta musíte přidat následující data záhlaví:
<meta http-equiv="Content-type" content="text/html;charset=utf-8" />
Chcete-li použít výsledky JSON AJAX (např. pomocí jQuery), měli byste definovat záhlaví přidáním :
header("Content-type: application/json;charset=utf8");
json_encode(
some_data
);
To by mělo stačit