表情符号字符串MySql返回错误的结果

时间:2015-06-05 03:17:08

标签: mysql emoji utf8mb4

我的数据库,表格,字段都使用utf8mb4。我可以将表情符号存储在某些字段中。现在我尝试查询如下:

SELECT * FROM user WHERE name =''

令人惊讶的是,结果是字段名称不同的记录,例如''

看起来mysql与表情符号字符串的长度匹配,但不符合内容。

有什么想法解决这个问题吗?非常感谢。

3 个答案:

答案 0 :(得分:1)

刚刚在我的桌子上执行了这个命令:

  

ALTER TABLE tablename CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;

就是这样。结果是正确的。

答案 1 :(得分:0)

你桌上的整理顺序是什么?由于您使用的是utf8mb4,因此它应为utf8mb4_unicode_ci。还有其他任何事情,你可能会遇到你所看到的问题 - 更糟糕的是你甚至可能会收到多条记录。

要设置整理顺序,请使用:

ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

答案 2 :(得分:0)

试试这个:

$(document).ready(function(){
   if($("#txtFullName").attr("visibility")==="visible"){
        $("#txtFullName").parent().css("height","30px");
});