Проблема с эмоджи при парсинге текста из вконтакта

Y
На сайте с 27.12.2011
Offline
89
400

Всем привет. Пользую api контакта (экспорт к себе на сайт текстов), там часто встречаются эмоджи (всякие маленькие иконки - салюты, эмоции, медали и т.п.)

Обрабатываю текст php скриптом, только с помощью addslashes($text)

пробовал разные варианты

//$text=strip_tags_content($text);

//$text=mysql_real_escape_string(htmlspecialchars($text));

и с вероятностью 50/50 если в тексте встречается какая-то эмоджи, текст обрезается, сохраняется в mysql только то что ДО эмоджи.

Точно такое "обрезание" происходит при "медальках" "салюте", при этом некоторые эмоджи сохраняются нормально в базу и текст после них,

Помогите, плиз. Как пофиксить?

Антон Лавеев
На сайте с 31.10.2005
Offline
425
#1

Две секунды в Гугле: How to store Emoji Character in MySQL Database

☠️☠️☠️
S
На сайте с 30.09.2016
Offline
469
#2
yuraabr:
если в тексте встречается какая-то эмоджи, текст обрезается, сохраняется в mysql только то что ДО эмоджи.

Вы только что открыли для себя метод взлома сайтов, раскрытый в CVE-2015-8562.

Как отметили выше, для сохранения подобных символов применяется кодировка utf8mb4.

Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.
SeVlad
На сайте с 03.11.2008
Offline
1607
#3
Sitealert:
для сохранения подобных символов применяется кодировка utf8mb4.

Причем некоторых японческих только в utf8mb4_unicode_520 ;)

Делаю хорошие сайты хорошим людям. Предпочтение коммерческим направлениям. Связь со мной через http://wp.me/P3YHjQ-3. (зачем теперь что-то писать на сёрче, если постоянно трут сообщения и банят по выдуманным причинам)

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