Как вставить Emoij в базу данных MySQL с Asp Classic? - PullRequest
0 голосов
/ 06 октября 2018

Я пытаюсь вставить 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?

Как предполагается, что эмодзи хранится в БД?

  1. Должно ли оно быть похоже на видимый настоящий эмодзи?

  2. Или вот так ŸŸ˜œðŸ˜ € ŸŸ˜ŠðŸ˜ƒ

  3. Или вот так \ xF0 \ x9F \ x98 \ x82


Решено

Я наконец-то разобрался с проблемой, я использовал Unicode-драйвер MySQL ODBC 5.2, и когда я сменил драйвер ODBC 3.51 MySQL, он работал!

1 Ответ

0 голосов
/ 14 ноября 2018

????, когда Моджибакед становится 😜😀😊😃.Это из-за путаницы с гексом F09F989CF09F9880F09F988AF09F9883, который рассматривается как эмодзи в utf8mb4, но с этой лексикой латинскими буквами.персонажи;то, что я вижу, не то, что я сохранил

...