在Android应用程序中使用MySQL存储和显示emojis
问题描述:
我有一个应用程序通过套接字与NodeJS服务器通信,该服务器正在通过HTTP与PHP通话,并且PHP正在使用MySQL。在Android应用程序中使用MySQL存储和显示emojis
当我尝试在文本字段中插入Emojis并将其保存到数据库时,当我收回时,我会看到“?”。
如果我表情符号复制*(例如✒️ ❤️ ️ ️
),并迫使他们到数据库,当我选择他们这表明✒️ ❤️ ?️ ?️
注:领域的DB是utf8mb4bin
。
- 为什么我不能直接从我的设备存储emojis到数据库?
- 为什么一些表情符号会显示,而另一些则不显示?
注:我也尝试过只PHP和MySQL,但没有运气。
答
1)数据库: 将数据库默认集合更改为** utf8mb4 **。
2)Table: Change Table collection as ** CHARACTER SET utf8mb4 COLLATE utf8mb4_bin **。
Query :
ALTER TABLE Tablename CONVERT TO CHARACTER SET utf8mb4 COLLATE
utf8mb4_bin
3)代码:
$database_connection = new mysqli($server, $user,$password,$database_name);
$database_connection->set_charset("utf8mb4");
:
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