gpt4 book ai didi

mysql - MySQL 中不区分大小写的 unicode 排序规则

转载 作者:可可西里 更新时间:2023-11-01 07:42:48 25 4
gpt4 key购买 nike

我有一个数据库,我们在其中存储用户名,每个名字的首字母大写——即 IsaacSparling。我正在尝试对我的 MySQL (v5.1.46) 数据库执行不区分大小写的自动完成。表具有 UTF8 的字符集和 utf8_unicode_ci 的排序规则。我也针对 utf8_general_ci 归类完成了这些测试。

纯 ASCII 文本工作正常:

mysql> select username from users where username like 'j%';
+----------------+
| username |
+----------------+
| J******** |
| J*********** |
| J************* |
+----------------+
3 rows in set (0.00 sec)

mysql> select username from users where username like 'J%';
+----------------+
| username |
+----------------+
| J******** |
| J*********** |
| J************* |
+----------------+
3 rows in set (0.00 sec)

(名称已编辑,但它们在那里)。

但是,当我尝试对 ASCII 集之外的 unicode 字符执行相同操作时,就没有这样的运气了:

mysql> select username from users where username like 'ø%';
Empty set (0.00 sec)


mysql> select username from users where username like 'Ø%';
+-------------+
| username |
+-------------+
| Ø********* |
+-------------+
1 row in set (0.00 sec)

一些调查让我想到了这个:http://bugs.mysql.com/bug.php?id=19567 (tl;博士,这是 unicode 归类的一个已知错误,修复它是“新功能”优先级——即,不会在任何合理的时间范围内完成)。

有没有人发现任何有效的解决方法,允许在 MySQL 中搜索不区分大小写的 unicode 字符?任何想法表示赞赏!

最佳答案

5.1.42-community 版本对我来说效果很好

也许您的 mysql 客户端没有正确发送 unicode 字符。我使用 sqlYog 进行了测试,它在 utf8_unicode_ci 和 utf8_general_ci 排序规则下都运行良好

关于mysql - MySQL 中不区分大小写的 unicode 排序规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4413024/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com