2017-02-16 2 views
-2

У меня есть приложение, которое разговаривает с сервером NodeJS через сокет, этот сервер обращается к PHP через HTTP и что PHP использует MySQL.Хранение и отображение emojis в приложении для Android с использованием MySQL

Когда я пытаюсь вставить Emojis в текстовое поле и сохранить его в DB, ​​когда я его верну, я вижу «?».

Если скопировать Emojis из википедии (например ✒️ ❤️ ️ ️) и заставить их к БД, когда я выбираю их он показывает ✒️ ❤️ ?️ ?️

Примечание: поле в БД utf8mb4bin.

  • Почему я не могу хранить emojis непосредственно с моего устройства в БД?
  • Почему некоторые эмозисы показывают, а другие нет?

Примечание: Я также пробовал только PHP и MySQL, но не повезло.

ответ

3

1.) База данных: Изменить коллекцию баз данных по умолчанию как ** utf8mb4 **.

2) Таблица: Изменить коллекцию таблиц как ** CHARACTER SET utf8mb4 COLLATE utf8mb4_bin **.

Query :                                       

     ALTER TABLE Tablename CONVERT TO CHARACTER SET utf8mb4 COLLATE 

utf8mb4_bin 

3) Код:

insert into tablename (column1,column2,column3,column4,column5,column6,column7) values ('273','3','Hdhdhdhhzhzhzzhjzj 我爱你 ❌',49,1,'2016-09-13 08:02:29','2016-09-13 08:02:29') 

4) Установите utf8mb4 в соединении с базой данных:

$database_connection = new mysqli($server, $user,$password,$database_name); 
    $database_connection->set_charset("utf8mb4"); 
Смежные вопросы