Emoji смайлы в MySql

oopros

Новичок
Есть форма, данные которой отправляются в Mysql
Иногда пользователи в эту форму вводят emoji смайлы. Но в базу они сохраняются в виде "???", как адаптировать правильно работу Mysql с emoji?
Тип поля таблицы "text"
 

oopros

Новичок
@oopros, utf8_mb4 позволяет хранить смайлы эмодзи.

emoji mysql > google > https://stackoverflow.com/questions/39463134/how-to-store-emoji-character-in-my-sql-database
спасибо, помогло. если вставляешь через phpmyadmin все хорошо, но с формы вставляется в базу почему-то вопросами.
Попробовал перед вставкой в mysql так сделать:
Код:
$text =iconv('utf8','utf8mb4',$text);
не помогло
 

AnrDaemon

Продвинутый новичок
А почему должно было помочь? utf8mb4 это кодировка MySQL, iconv о ней ничего не знает.

Причём это даже не кодировка, а формат хранения.
 
Последнее редактирование:

fixxxer

К.О.
Партнер клуба
Ничего специального делать не надо.

Если у тебя не работает - либо где-то данные портятся по дороге, либо браузер почему-то отправляет битые данные.

С вероятностью 99% ты данные портишь сам где-то в своем коде. Пройдись отладчиком пошагово от входной точки до того места, где у тебя составляется SQL-запрос.
 

oopros

Новичок
Передать напрямую, никак не меняя.
А вот сохранятся ли они - вопрос того, как именно ты к MySQL подключаешься.
вот так подключаюсь:
Код:
$link987 = mysqli_connect('localhost','','','') OR DIE("Не могу создать соединение");
mysqli_query($link987, 'set names utf8');
 
Сверху