使用 MySQL 在 Android 应用程序中存储和显示表情符号
Storing and showing emojis in Android application using MySQL
我有一个应用程序通过套接字与 NodeJS 服务器通信,该服务器通过 HTTP 与 PHP 通信,而 PHP 使用 MySQL.
当我尝试在文本字段中插入表情符号并将其保存到数据库时,当我取回它时我看到“?”。
如果我从维基百科复制表情符号(例如 ✒️ ❤️ ️ ️
)并将它们强制到数据库,当我 select 它们时它显示 ✒️ ❤️ ?️ ?️
注:DB中的字段为utf8mb4bin
.
- 为什么我不能将表情符号直接从我的设备存储到数据库?
- 为什么有些表情符号可以显示,而有些则不能?
注意:我也只尝试了PHP和MySQL,但没有成功。
1.)数据库:
将数据库默认集合更改为 **utf8mb4 ** .
2)Table :
将 Table 集合更改为 ** 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");
我有一个应用程序通过套接字与 NodeJS 服务器通信,该服务器通过 HTTP 与 PHP 通信,而 PHP 使用 MySQL.
当我尝试在文本字段中插入表情符号并将其保存到数据库时,当我取回它时我看到“?”。
如果我从维基百科复制表情符号(例如 ✒️ ❤️ ️ ️
)并将它们强制到数据库,当我 select 它们时它显示 ✒️ ❤️ ?️ ?️
注:DB中的字段为utf8mb4bin
.
- 为什么我不能将表情符号直接从我的设备存储到数据库?
- 为什么有些表情符号可以显示,而有些则不能?
注意:我也只尝试了PHP和MySQL,但没有成功。
1.)数据库: 将数据库默认集合更改为 **utf8mb4 ** .
2)Table : 将 Table 集合更改为 ** 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");