首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用ASP经典在MySQL中注册表情符号时的问题

使用ASP经典在MySQL中注册表情符号时的问题
EN

Stack Overflow用户
提问于 2020-05-06 16:45:58
回答 1查看 229关注 0票数 0

早上好!

我尝试在我的应用程序中实现表情符号已经有一段时间了,但是我遇到了很多困难。我已经测试了几个互联网解决方案,但没有一个是有效的。

我会尽量像我正在做的那样详细说明:

5.6.40-84.0-log5.6.26-log.

  • The应用程序中的
  • (我使用的是经典ASP、MySQL )托管在Plesk上(我试图在本地运行,数据库也是如此)。记事本页已经在UTF8 without BOM.
  • In和UTF-8中进行了测试,<meta charset = "utf-8">.
  • The <form>有标签accept-charset="UTF-8".
  • The,ASP有Response.AddHeader "Content-Type", "text/html;charset=UTF-8"Response.CodePage=65001Response.LCID=1060Response.Charset="utf-8".

现在我们来谈谈问题:

在两个版本的MySQL中,当我将COLLATE更改为utf8mb4_unicode_*utf8mb4_bin时,它会自动返回到utf8mb4_0900_ai_ci

5.6.40-84.0-log,版本中,如果我直接在数据库中注册表情符号,它们就像??????????????一样。

在版本5.6.26-log中,如果我直接向数据库注册,则错误返回:

Executing: INSERT INTO `db`.`table` (` emoji`) VALUES ('tion 123 ão'); Operation failed: There was an error while applying the SQL script to the database. ERROR 1366: 1366: Incorrect string value: '\ xF0 \ x9F \ x98 \ x80 \ xF0 \ x9F ...' for column 'emoji' at row 1 SQL Statement: INSERT INTO 'db'. 'Table' ('emoji') VALUES ('tion 123 ão')

在同一版本中,使用SET NAMES 'utf8mb4'SET NAMES' utf8'ODBC连接字符串中通过页面注册,将返回以下错误:

Microsoft OLE DB Provider for ODBC Drivers error '80004005' [MySQL] [ODBC 3.51 Driver] [mysqld-5.6.22] Incorrect string value: '\ xE7 \ xE3o' for column 'field' at row 1

编辑1:当我查阅SHOW SESSION VARIABLES LIKE 'character_set%';SHOW SESSION VARIABLES LIKE "%collation%";数据库时,它返回以下结果:

谢谢!

谷歌翻译的翻译

EN

回答 1

Stack Overflow用户

发布于 2020-05-07 03:57:23

对于Emoji和一些中国人来说,你需要的是utf8mb4,而不是utf8 in MySQL。

既然你正在运行旧的5.6,你可能会遇到另一个问题。http://mysql.rjweb.org/doc.php/limits#767_limit_in_innodb_indexes

如果那个E7E3应该是çã,那么您也有一些latin1 1编码的文本。

不要将编码混合在一个列中。

SHOW SESSION VARIABLES LIKE 'char%'的输出表明,连接只是utf8;它需要是utf8mb4。他们之间的主要区别是在鄂莫吉。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61640606

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档