如何插入emoij到mysql数据库与asp经典?

ldioqlga  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(345)

我试图用querystring将emoji插入mysql数据库,但我没有´不知道我做错了什么?
我有一个设置为utf8mb4的mysql数据库,我可以用mysqlworkbench将emoji插入到一个表中,它显示为一个真正的emoji。所以数据库工作正常。如果我只是尝试在一个.asp页面上显示它,那么我就应该显示一个emoji。我已经将数据库、表和列设置为utf8mb4\u general\u ci,对吗?
和我的数据库连接(koppling.asp):

strConn = "driver={MySQL ODBC 5.2 Unicode Driver};server=localhost;uid=xxx;pwd=xxx;database=emojtest;option=3;charset=utf8mb4;" 
set conn = Server.CreateObject("ADODB.Connection")
conn.Open strConn

我向insertemoji.asp页面发送querystring/变量,如下所示。

www.somepage.se/emojitest/insertemoji.asp?text=????

我的insertemoji.asp是这样的。

<!--#include file="koppling.asp" -->
<% 
Response.charset="utf-8"

thetext = request.querystring("text")   

sql= "INSERT INTO news (text) VALUES ('"&thetext&"');"
conn.Execute (sql)
response.write thetext (this is showing 😜😀😊😃)
%>

但是emoji不是作为emoji存储的,只有这样 😜😀😊😃 如果编码正确的话,我想应该是这样的
那我还缺什么?我哪里出错了?
如果它应该像\xf0\x9f\x98\x82那样存储,那么当我在.asp页面上显示它时,如何将它转换/编码为真正的emoji?
emoji应该如何存储在db中?
它应该像一个可见的真实表情?
或者像这样ðÿ˜œðÿ˜€ðÿ˜šðÿ˜ƒ
或者像这样\xf0\x9f\x98\x82

已解决

我终于找到了问题所在,我使用了mysql odbc 5.2 unicode驱动程序,当我改为mysql odbc 3.51驱动程序时,它就工作了!

7d7tgy0s

7d7tgy0s1#

???? ,当被熏制时,变成 😜😀😊😃 . 这是因为混淆了十六进制 F09F989CF09F9880F09F988AF09F9883 ,在utf8mb4中被视为表情符号,但拉丁语1却将其视为胡言乱语。
要查看代码中可能出现的错误,请参阅utf-8字符的问题;我看到的不是我储存的

相关问题