在mysql数据库中存储非拉丁字符的问题



我目前正在运行一个蜜罐来捕获论坛垃圾邮件发送者,我一直有在我的数据库中存储非拉丁字符的问题,我有utf8_unicode_ci设置在数据库和表级别,我使用mysql_query(" set NAMES 'utf8'")以确保信息作为utf8发送。

时间等信息存储为int。IP,用户名等存储为Varchar和文本,与垃圾邮件数据的唯一区别是,我在插入数据之前使用base64_encode(htmlspecialchars()),并且垃圾邮件列存储在medium blob中,并且我在该列的查询中使用COMPRESS()。

对于拉丁字符,它返回正确的数据,但对于非拉丁字符,如俄语和泰语,它不返回正确的数据。

例如:

Уровня конечного начальники или не

将返回为:

Ð£Ñ€Ð¾Ð²Ð½Ñ ÐºÐ¾Ð½ÐµÑ‡Ð½Ð¾Ð³Ð¾ начальнÐ

或者只是带问号的菱形。

我设法正确地存储这个信息几年前,当我创建一个论坛,但我不记得我是如何设法让它正确存储,我已经搜索了一整天,并没有能够找到一个解决方案,为我工作。

编辑:如果有任何帮助,请提供额外信息。

  • Apache/2.2.14 (Ubuntu)
  • MySQL客户端版本:5.1.41
  • PHP扩展:php5-mysql

结果是,从我的域名发送垃圾邮件提交到主中心的页面没有header("Content-Type: text/html; charset=utf-8");,所以当对页面进行查询时,它在那里被损坏了。

相关内容

  • 没有找到相关文章