Мое слепое предположение состоит в том, что ваше соединение с базой данных MySQL не установлено в UTF-8, что приводит к возвращению символов ISO-8859-1, даже если исходная база данных - UTF-8.
Эти символы будут ломаться json_encode()
, потому что они недопустимы в наборе символов UTF-8, чего ожидает json_encode()
.
Возможно, вам придется установить кодировку соединения в UTF-8. Как это сделать, зависит от используемой вами библиотеки.
В семействе функций mysql_*
одним из способов является
mysql_query("SET names utf8;");
или в MySQL> 5.0.7, новый
mysql_set_charset("utf8");