Браузер интерпретирует его на основе набора символов, указанного в заголовках http.Для этого необходимо, чтобы фактический вывод, который вы отправляете, соответствовал этой кодировке.
С вашей настройкой должно быть верно следующее:
Вы должны извлечь все данные из mysql на соединении, которое указано с правильной кодировкой (SET NAMES "encoding"), по умолчанию используется latin1/ ISO-8859-1
PHP внутренне работает также только с latin1, но любые динамические данные должны быть в порядке, если вы не выполняете много манипуляций со строками, тогда вы можете столкнуться с проблемой.
Если какой-либо контент на вашей php-странице является статическим, вы должны сохранить php-страницу в соответствующей кодировке (например, utf8).
Страница php должна указывать тип содержимого в заголовке:
header ("Content-Type: text / html; charset = utf8");// заменить фактическим типом контента и используемой вами кодировкой.
Ваши данные в базе данных должны храниться соответствующим образом из соединения, которое указало правильную кодировку, в противном случае база данных будетсделать неправильное преобразование в или из базы данных.