使用MySQL在Android应用程序中存储和显示表情符号

时间:2017-02-16 16:13:40

标签: php android mysql emoji

我有一个应用程序通过套接字与NodeJS服务器通信,该服务器通过HTTP与PHP通信,而PHP正在使用MySQL。

当我尝试在文本字段中插入Emojis并将其保存到DB时,当我将其恢复时,我会看到“?”。

如果我从维基百科中复制Emojis(例如<authentication mode="Forms"> <forms loginUrl="~/Account/Login" name=".ASPXAUTH" timeout="300" slidingExpiration="true"> )并强制它们到数据库,当我选择它们时它会显示✒️ ❤️ ️ ️

注意:数据库中的字段为✒️ ❤️ ?️ ?️

  • 为什么我不能将emojis直接从我的设备存储到DB?
  • 为什么有些表情符号会显示,而有些表情符号却没有?

注意:我也只尝试过PHP和MySQL,但没有运气。

1 个答案:

答案 0 :(得分:4)

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");