Есть три слоя, которые могут быть причиной вашей проблемы.
Во-первых, ваша база данных будет иметь кодировку символов по умолчанию.
Во-вторых, ваша таблица может иметь явную кодировку символов, которая имеет приоритет. Таким образом, вы должны убедиться, что у вас есть набор кодировки Unicode для вашей таблицы с помощью одного из этих методов. Вы говорите, что ваша таблица установлена в utf8_general_ci, поэтому эта часть должна быть в порядке.
В-третьих, есть само соединение, которое имеет определенную кодировку. Это может быть установлено в настройках клиента MySQL по умолчанию со следующим:
[ТуздЫ]
init_connect = 'SET NAMES utf8'
Вы также можете установить его в коде. Например, для PHP вы можете сделать следующее:
mysql_set_charset ("UTF8", $ conn);
или же
$ db-> exec ('SET CHARACTER SET UTF8')
Вы ничего не сказали о том, что такое $ db, поэтому не можете быть уверены. Но что-то в этом роде.
Наконец, убедитесь, что он на самом деле не работает, но вы просто этого не знаете. Ваша веб-страница должна быть настроена на utf8. Проверьте, что вы на самом деле получаете с веб-страницы, и не просто предполагайте, что она отправляет Unicode.