如何使MySQL匹配`%D%`=>`Đ`

|| 我遇到了一个非常令人沮丧的功能,由于某种原因,涉及选择ѭ0的查询将不匹配ѭ1。 但是,与此类似的所有其他字符都匹配。
%n%
匹配
ñ
%o%
匹配
,但是如果我搜索
%Dong Nai%
,则不会得到
Đồng Nai
。 虽然
%Thua Thien-Hue%
将与
Thừa Thiên-Huế
相匹配 这是MySQL功能还是硬编码为Unicode的内容,还是可以解决?它使使用我网站的人们无法找到有关某些越南省的事件,除非他们可以访问“ 1”键,而美国几乎没有人可以使用。 编辑: a,e,i,o或u匹配所有越南元音的事实对于越南语使用者来说是非常意外的行为。 以供参考;这是越南语中的所有元音。 à,á,ã,ạ,a,ằ,ắ,ẵ,ẳ,ặ,ă,ầ,ấ,ẫ,ẩ,ậ,â,è,é,é,ẽ,ẻ,ẹ,e,ề,ế, ễ,ể,ệ,ê,ì,í,ĩ,ỉ,ị,i,ò,ó,õ,ỏ,ọ,o,ó,ố,ỗ,ổ,ộ,ô、,、ớ,ỡ, ở,ợ,ơ,ù,ú,ũ,ủ,ụ,u,ừ,ứ,ữ,ử,ự,ư 那么我的问题是,“什么构成足够不同的字母?”。 看来其他越南语使用者已将其报告为MySQL的错误: 5.6+中似乎没有此行为。我会告诉您MySQL更新是否有帮助。 http://bugs.mysql.com/bug.php?id=61258     
已邀请:
        这与排序规则有关。查看http://www.collat​​ion-charts.org/mysql60/,您会发现D和字符Đ在比较时不相同。正如nico在评论中所建议的那样,最简单(尽管不是最快)的方法是在进行比较时用D替换Đ。但是,这可能不切实际,具体取决于您的性能标准,在这种情况下,您可能需要保留单独的列或目录,在将数据插入数据库时​​,已对其进行了调整以替换某些字符。     
        这些越南元音及其变音符号主要是相同的(具有相同的基本字符),但其次(变音)是不同的。使用适当的排序规则可以使它们相等。 但是,对于\'D \'和\'Đ\'来说这是不同的,因为它们不是相关字符,并且不符合任何排序规则。因此,需要比较两个字母。 在MySQL中实现越南语归类     
        这很正常,因为any无论如何都不等于D(您不希望进行此相关)... 带有笔划(D,đ)的D用于越南语,一些南斯拉夫语(例如塞尔维亚语),莫罗语和萨米语。它不仅是D的“种类”,而且其命名也有所不同... http://en.wikipedia.org/wiki/Eth 换句话说,当您搜索D时,找到包含Đ的记录是不正确的。这就像在搜索S时让美元唱$。     

要回复问题请先登录注册