Запись emoji смайлов в базу данных mysql

T1
На сайте с 27.08.2016
Offline
0
1101

Добрый вечер, проблема в следующем.

Необходимо записывать данные получаемые от API Вконтакте в базу данных MySQL. Данные передаются в кодировке windows-1251. Проблема в том, что в данных встречаются смайлы emoji и при записи в базу данных некоторые смайлы отображаются в виде знаков вопроса. MySQL имеет тип полей, сравнение базы и таблицы в кодировке utf8mb4_general_ci, которая как раз подходит для сохранения такого типа данных (4 байта на символ). Что я только не перепробовал. Либо текст сохраняется нормально, а смайлы в нем в виде знаков вопроса, либо все сохраняется в полном объеме, но в виде кракозябр.

Надеюсь на Вашу помощь, может быть кто-то сталкивался с подобной проблемой?

на форуме нашел такой ответ:

При вставке - SET NAMES 'utf8'

При чтение - SET NAMES 'utf8'

При отображение - header('Content-type: text/html; charset=utf-8');

Но я использую такую констркцию для ввода данных:

mysql_query("INSERT INTO имя_тамблицы (id_community) VALUES ('$first_record_id') ");

Куда мне здесь добавить SET NAMES 'utf8'? Подскажите пожалуйста

LEOnidUKG
На сайте с 25.11.2006
Offline
1747
#1

после подключения в БД, сразу сделайте вставьте строку:

mysql_query("SET NAMES 'utf8'");

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
_
На сайте с 25.07.2013
Offline
23
#2

Для подключения

set_charset('utf8mb4')

Для нужного поля в базе

Charset - utf8mb4

Collation - utf8mb4_unicode_ci

Разработка интернет-проектов

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий