У меня есть таблица, в которой я храню текстовые метки. Первоначально он был построен с использованием параметров сортировки latin_swedish_ci (по умолчанию).
Теперь мне нужно поддерживать дополнительные языки, например русский. У меня есть две страницы, которые потребляют эти ярлыки. Один показывает их нормально, несмотря на то, что таблица все еще с латинской сортировкой, а НЕ utf8_generic_ci, однако другая страница все еще показывает мусор. Когда я просматриваю источник, это выглядит так:
\u00d0\u00a4\u00d0\u00b8\u00d0\u00bb\u00d1\u0152\u00d1\u201a\u00d1\u20ac\
На обеих страницах есть:
<META http-equiv="Content-type" content="text/html;charset=UTF-8">
Что мне не хватает?
ОБНОВИТЬ:
Я не знаю, почему и как это работает, но в итоге я добавил следующее перед вставкой/обновлением моего запроса и перед рендерингом на странице, и это устранило все мои проблемы:
mysql_query("SET NAMES utf8");
Если вы тоже потратили достаточно времени, пытаясь использовать метатеги и заголовки, попробуйте это решение.