将MySQL数据库从utf8\u general\u ci更改为utf8\u bin-好主意?
我最近了解到,如果您不希望MySQL将å读作a或ö读作o,则需要使用uft8_-bin排序规则 我的网站是多租户的,所以不是每个人都需要utf8_-bin排序规则。我的一些客户在挪威和芬兰,他们要求正确订购这些“非英语”字符 但是将表格设置为utf8\u bin是个好主意吗 或者有没有更好的方法,例如仅当他们是非英语国家时才将排序规则设置为utf8_bin 这会影响来自英国国家的任何人吗?或者utf8_bin的行为是否与utf8_general_ci相同,但具有正确订购å、ö等附加功能将MySQL数据库从utf8\u general\u ci更改为utf8\u bin-好主意?,mysql,Mysql,我最近了解到,如果您不希望MySQL将å读作a或ö读作o,则需要使用uft8_-bin排序规则 我的网站是多租户的,所以不是每个人都需要utf8_-bin排序规则。我的一些客户在挪威和芬兰,他们要求正确订购这些“非英语”字符 但是将表格设置为utf8\u bin是个好主意吗 或者有没有更好的方法,例如仅当他们是非英语国家时才将排序规则设置为utf8_bin 这会影响来自英国国家的任何人吗?或者utf8_bin的行为是否与utf8_general_ci相同,但具有正确订购å、ö等附加功能 或者有比
或者有比utf8\u bin更好的选择吗?
utf8\u general\u ci
ordersåandö。utf8\u*\ u ci
和utf8\u bin
排序规则之间的区别在于前者不区分大小写。感谢您的快速回复。如果你不知道,在挪威,字母ä在z之后。但在utf8_general_ci
中,它将ä与其他a放在一起。这里有一个SQL Fiddle@BenSinclair的例子:utf8\u general\u ci
是一个不区分大小写的通用例子。我正试图找到整个列表,但如果你有像phpMyAdmin这样的东西,请选择一个挪威特有的utf8\u*\ ci
@BenSinclair:There有冰岛语
,拉脱维亚语
,罗马尼亚语
,爱沙尼亚语
,西班牙语
,瑞典语
,土耳其语
,捷克语
,丹麦语
,立陶宛语
,斯洛伐克语
,罗马语
,波斯语
,世界语
,匈牙利语
,和僧伽罗语
@BenSinclair:但问题是,如果你一开始就不想让案件不敏感,那就选择utf8 bin
。),只需将其更改为utf8\u danish\u ci
。再次感谢:)如果我在这方面有点愚蠢,请原谅。作为一个“多租户”网站,最好的选择是什么,这样无论使用何种语言,它都能正确地排序字母?我只是使用了utf8\u general\u ci
,因为这就是我当时所知道的一切,这就是为什么我现在想从现在开始做正确的事情,让所有语言都像它们应该做的那样出现。也许在每个SQL语句中运行COLLATE取决于它们的语言?