将MySQL数据库从utf8\u general\u ci更改为utf8\u bin-好主意?

将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相同,但具有正确订购å、ö等附加功能 或者有比

我最近了解到,如果您不希望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取决于它们的语言?