请通过MySQL排序规则与我联系

时间:2011-07-28 00:58:59

标签: mysql unicode utf-8 character-encoding collation

我正在为网站设置一个新的MySQL数据库,我希望内容类型为UTF-8。

为什么MySQL有这么多不同的,看似特定于语言的UTF-8排序规则?如果没有切换编码,它将包含所有这些语言,这不是UTF-8的重点吗?什么是“_bin”和“_cs”和“_ci”符号?选择“_bin”会使一些操作区分大小写吗?

我的网站主要使用英文,但显然我希望能够做一些事情,例如将日文字符粘贴到我的文本中而不会发生意外。

1 个答案:

答案 0 :(得分:4)

我认为MySQL docs拥有我读过的最好的鸟瞰图。

短篇小说。 。

归类定义了排序和比较的顺序。以“_cs”结尾的排名区分大小写; “_ci”表示不区分大小写。对于text,char或varchar,可能需要其中一个。

排序和与“_bin”排序规则比较的顺序由字符的二进制值决定。 “_bin”归类的值将逐字节复制到目标列。 (其他归类的值可能会转换为不同的字符集。)所有字符都很重要,包括尾随空格。 大写小写毫无意义。