Лично я решил ту же проблему, добавив после MySQL код подключения :
mysql_set_charset("utf8");
или для mysqli:
mysqli_set_charset($conn, "utf8");
или эквивалент ООП MySQL:
$conn->set_charset("utf8");
И иногда вам придется определить основной php charset , добавив этот код:
mb_internal_encoding('UTF-8');
На стороне клиента HTML вы должны добавить следующие данные заголовка:
<meta http-equiv="Content-type" content="text/html;charset=utf-8" />
Чтобы использовать результаты JSON AJAX (например, с помощью jQuery), вы должны определить заголовок, добавив:
header("Content-type: application/json;charset=utf8");
json_encode(
some_data
);
Это должно сработать