表情符号使MySQL使用经典ASP崩溃

时间:2015-04-28 02:25:49

标签: mysql unicode asp-classic utf-16 emoji

我有一个旧网站,访问者可以在其中添加评论。到目前为止,它总是运作良好,它没有很多访问者(它适合利基观众)。它是用经典ASP构建的,它使用MySQL(现为5.6)。它在IIS 8.5上运行,并且它连接到没有DSN的数据库。

每当有人在他们的帖子中添加表情符号字符时,它会使IIS服务进入某种循环,使用超过60%的CPU而且永远不会停止。

我不想过滤掉这些字符,我认为它们符合网站的前提,但我没有预见到这个问题。当我第一次设置MySQL时,我使用UTF-16来确保我的用户可以使用任何语言编写,直到现在我才发现问题。有一些看起来像日本人和韩国人的消息,我只知道当用户告诉我当网站在他身上坠毁时他正在做什么时,这是Emojis的一个问题。

  • 所有网站的网页/文件都以Unicode格式保存,并且所有网站的字符集都设置为" utf-8"。
  • 数据库的排序规则是utf16_unicode_ci,表格也是如此。
  • 我可以直接从命令行或通过HeidiSQL将Emojis插入表中,但是....
  • 服务器正在将Emojis作为问号(?)发送。

这是我的连接字符串:

  

Driver = {MySQL ODBC 5.3 Unicode   驾驶员};服务器= ;。用户= ******;密码= ** ****;选项= 3;字符集= UTF-16;

1 个答案:

答案 0 :(得分:0)

CHARACTER SET utf8mb4中使用MySQL端到端。