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

Ami*_*mit -2 php mysql android emoji

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

当我尝试在文本字段中插入表情符号并将其保存到数据库时,当我将其取回时,我会看到“?”。

如果我从维基百科复制表情符号(例如?? ?? ? ?)并强制它们到数据库,当我选择它们时它会显示?? ?? ?? ??

注意: DB 中的字段是utf8mb4bin.

  • 为什么我不能将表情符号直接从我的设备存储到数据库?
  • 为什么有些表情符号显示,而有些则不显示?

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

Sho*_*hit 5

1.) 数据库:将数据库默认集合更改为 **utf8mb4 ** 。

2)表:将表集合更改为** CHARACTER SET utf8mb4 COLLATE utf8mb4_bin **。

Query :                                                                                                                                                         

        ALTER TABLE Tablename CONVERT TO CHARACTER SET utf8mb4 COLLATE 

utf8mb4_bin
Run Code Online (Sandbox Code Playgroud)

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')
Run Code Online (Sandbox Code Playgroud)

4)在数据库连接中设置utf8mb4:

 $database_connection = new mysqli($server, $user,$password,$database_name); 
  $database_connection->set_charset("utf8mb4");
Run Code Online (Sandbox Code Playgroud)