相关疑难解决方法(0)

使用二进制排序规则有什么影响?

在回答这个问题时,我对某些我无法找到足够答案的事情感到不确定.

使用二进制文件utf8_bin和不区分大小写的utf8_general_ci排序规则之间有什么实际区别?

我可以看到三个:

  1. 两者都有不同的排序顺序; _bin排序顺序可能会将任何变音符号放在字母表的末尾,因为字节值会被比较(对吗?)

  2. 只有区分大小写的搜索 _bin

  3. 没有A = Ä平等_bin

是否还有其他差异或副作用需要注意?

参考:

类似的问题没有解决这个问题:

mysql collation

45
推荐指数
2
解决办法
2万
查看次数

MYSQL区分大小写搜索utf8_bin字段

我创建了一个表并将排序规则设置为utf8,以便能够为字段添加唯一索引.现在我需要进行不区分大小写的搜索,但是当我使用collat​​e关键字执行一些查询时,我得到了:

mysql> select * from page where pageTitle="Something" Collate utf8_general_ci;
Run Code Online (Sandbox Code Playgroud)

ERROR 1253(42000):COLLATION'utf8_general_ci'对CHARACTER SET'latin1'无效

mysql> select * from page where pageTitle="Something" Collate latin1_general_ci;
Run Code Online (Sandbox Code Playgroud)

ERROR 1267(HY000):操作'='的非法混合排序(utf8_bin,IMPLICIT)和(latin1_general_ci,EXPLICIT)

我对SQL很新,所以我想知道是否有人可以提供帮助.

mysql sql case-sensitive character-encoding mysql-error-1267

18
推荐指数
1
解决办法
3万
查看次数

MySQL DB选择带有和不带变音符号的记录.例如:'..某事=FÖÖ'

我的表校对是"utf8_general_ci".如果我运行如下查询:

SELECT * FROM mytable WHERE myfield = "FÖÖ"
Run Code Online (Sandbox Code Playgroud)

我得到的结果是:

...  myfield = "FÖÖ"
...  myfield = "FOO"
Run Code Online (Sandbox Code Playgroud)

这是"utf8_general_ci"的默认值吗?

我应该使用什么整理来获取myfield ="FÖÖ"的记录?

mysql collation diacritics equivalent

6
推荐指数
2
解决办法
4042
查看次数

寻找不区分大小写的MySQL排序规则,其中"a"!="ä"

我正在寻找UTF8的MySQL排序规则,它不区分大小写并区分"a"和"ä"(或更一般地说,在umlauted/accented字符和它们的"纯"形式之间).utf8_general_ci前者,utf8_bin后者,机器人都没有.如果没有这样的整理,我该怎样做才能在WHERE条款中尽可能接近?

mysql collation utf-8 case-insensitive

3
推荐指数
1
解决办法
2981
查看次数