【问题标题】:Is there a way to get case-sensitive collation for utf8 in mysql?有没有办法在 mysql 中为 utf8 获取区分大小写的排序规则?
【发布时间】:2012-07-01 03:52:56
【问题描述】:

我有一个 IPA 发音音节的 mysql 表,我想在一个唯一键上区分大小写,一个包含许多带有重音符号的字符的 varchar。我还希望将具有不同口音的字符视为不平等。

我签了 http://www.sitepoint.com/forums/showthread.php?580030-case-sensitive-unicode-table,虽然我认为它可以解决我的唯一性问题,但我不希望出现由 utf8_bin 引起的奇怪排序。

我只需要通过 java 通过 hibernate 以编程方式访问数据库,所以我想我可以将唯一键更改为音节 varchar 和整数(java.lang.String 或一些自定义哈希)上的唯一键字符串),但这会留下很小的碰撞可能性。

如果工作量不大,我愿意为此用例创建自己的自定义排序规则。什么是 utf8_bin 排序规则的好选择?任何指导表示赞赏。

【问题讨论】:

    标签: mysql utf-8 collation


    【解决方案1】:

    您可以choose a collation on a per-query, per-clause basis,创建表时选择的排序规则只是默认值。因此,您可以使用bin 排序规则进行比较,并使用另一个排序规则。

    【讨论】:

    • 另一个具有相同技术的source
    猜你喜欢
    • 2011-11-28
    • 2011-11-14
    • 2011-06-01
    • 2011-05-23
    • 2016-12-19
    • 2019-06-19
    • 2014-05-10
    • 2017-01-20
    相关资源
    最近更新 更多