我有一个应用程序通过套接字与NodeJS服务器通信,该服务器通过HTTP与PHP通信,而PHP正在使用MySQL。
当我尝试在文本字段中插入Emojis并将其保存到DB时,当我将其恢复时,我会看到“?”。
如果我从维基百科中复制Emojis(例如<authentication mode="Forms">
<forms loginUrl="~/Account/Login" name=".ASPXAUTH" timeout="300" slidingExpiration="true">
)并强制它们到数据库,当我选择它们时它会显示✒️ ❤️ ️ ️
注意:数据库中的字段为✒️ ❤️ ?️ ?️
。
注意:我也只尝试过PHP和MySQL,但没有运气。
答案 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");