2012-02-28 20 views
0

的第一个问题。经过很长时间的潜伏者,非常感谢这个网站提供的巨大帮助。MySQL在将Latin1迁移到UTF8后,LIKE搜索不再有效。这里尝试了所有UTF8归类

所以,我们完成了一个相当大的系统的迁移与上百个原有成分为UTF8。感谢所有的鱼,拉丁文1,但UTF8是未来,这种迁移是强制性的。

所以,一切工作的花花公子,除了在MySQL LIKE搜索。我搜索了其他问题在这里,但他们都解决LATIN1的主要问题 - > UTF8迁移,而不是搜索,正则表达式和LIKE ....

例如,我尝试

SELECT * FROM城市WHERE NAME LIKE '%SAO PAULO%'

,并得到结果为零

SELECT * FROM城市WHERE NAME LIKE '%圣保罗%'

,并得到预期的结果(对A音符波浪线)。

随着处理latin1默认排序规则latin1_swedish做意料之中的事情,就认为要像,和C是像C。但没有UTF8整理这个工作。

我该怎么办?任何帮助将不胜感激。谢谢大家,我希望能为这个社区做出贡献,尽可能为我的工作做出贡献。

回答

1

我要大胆的猜测,说你正在使用utf8_bin。您需要使用utf8_unicode_ci才能正确比较您正在尝试执行的操作。它稍慢,但更正确。