MySql非法混合排序(latin1_swedish_ci,IMPLICIT)和(utf8_unicode_ci,COERCIBLE)

时间:2015-09-04 11:04:28

标签: mysql

当我运行此查询时:

SELECT *
FROM text_trainer    
WHERE text LIKE '%@CommonBlackGirI: Tyree from Straight Outta Compton %'
LIMIT 0 , 30

我遇到了这个错误:

  

MySQL说:文档

     

1267 - 非法混合排序(latin1_swedish_ci,IMPLICIT)和(utf8_unicode_ci,COERCIBLE)操作'like'

我尝试了一些解决方案。但是没有工作。我想搜索这一行:

“@ CommonBlackGirI:来自Straight Outta Compton的Tyree”

在文本列中。

提前致谢。

1 个答案:

答案 0 :(得分:0)

您正在尝试比较具有不同字符集/排序规则的两个字符串,列文本中的latin1与LIKE运算符中的utf8。 MySQL不知道如何正确地做到这一点。您应首先将列值转换为utf8 -

SELECT
  *
FROM
  text_trainer
WHERE
  CONVERT(text USING utf8) LIKE '%@CommonBlackGirI: Tyree from Straight Outta Compton %'