На данный вопрос уже ответили:
Делаю небольшой проект, который использует сообщения из базы данных. Сами сценарии (на php) и страницы вывода информации из базы данных в кодировке utf-8. База данных также создана в кодировке utf-8.
Если прописываю в коде при добавлении и при выводе следующее:
mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER SET 'utf8'");
mysql_query("SET SESSION collation_connection = 'utf8_general_ci'");
то в базу записывается и отображается всё верно (кириллица отображается верно), кроме... некоторых смайликов (которые критичны для "заказчика", как оказалось). Подскажите, как быть?
кроме некоторых смайликов
Это проблема ограниченности кодировки utf8 в mysql.
Чтобы ее обойти надо использовать кодировку utfmb4. Для этого ее надо задать для таблицы и для соединения.
Соответственно, таблицы создавать с кодировкой utfmb4 вместо "utf-8" (которая на самом деле utf8), а после соединения писать одну строчку
mysql_set_charset('utfmb4');
И да, функций mysql_* больше не существует. Так что в своем небольшом проекте ты должен использовать PDO.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости