Я пытаюсь вставить emoji в свою базу данных MySQL с помощью строки запроса, и я не знаю, что я делаю неправильно?
У меня есть база данных MySQL, настроенная на utf8mb4, и я могу вставить исмайликов к столу с Mysqlworkbench, и это выглядит как настоящий смайлик.Так что база данных работает как надо.И если я просто попытаюсь показать это на странице .asp, то я покажу смайлик, как и должно быть.Я установил базу данных, таблицу и столбец как utf8mb4_general_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
К моей странице inserttemoji.asp Iотправляю строку запроса / переменную следующим образом.
www.somepage.se/emojitest/insertemoji.asp?text=????
И мой inserttemoji.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 😜😀😊😃)
%>
Но эмодзи не сохраняется как смайлик, только так😜😀😊😃
и если бы он был закодирован правильно, я бы подумал, что \ xF0 \ x9F \ x98 \ x82
Так чего мне не хватает?Где я могу ошибиться?
Если он должен храниться как \ xF0 \ x9F \ x98 \ x82, как мне тогда преобразовать / кодировать его в настоящий эмодзи, когда я отображаю его на своей странице .asp?
Как предполагается, что эмодзи хранится в БД?
Должно ли оно быть похоже на видимый настоящий эмодзи?
Или вот так ŸŸ˜œðŸ˜ € ŸŸ˜ŠðŸ˜ƒ
Или вот так \ xF0 \ x9F \ x98 \ x82
Решено
Я наконец-то разобрался с проблемой, я использовал Unicode-драйвер MySQL ODBC 5.2, и когда я сменил драйвер ODBC 3.51 MySQL, он работал!