社区
MySQL
帖子详情
mysql中的collation什么意思 其中的utf8-bin
woshimajia0006
2010-07-19 04:18:04
utf-8_bin
uft-8_general_ci
等等这些什么意思 什么区别
应该选择哪个
...全文
2042
9
打赏
收藏
mysql中的collation什么意思 其中的utf8-bin
utf-8_bin uft-8_general_ci 等等这些什么意思 什么区别 应该选择哪个
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
mangran
2012-08-09
打赏
举报
回复
嗯,受教了。
ayong25192
2012-08-07
打赏
举报
回复
z找的就是这个
haozhics
2011-09-01
打赏
举报
回复
长知识了
wwwwb
2010-07-19
打赏
举报
回复
后者不区分大小写
wwwwb
2010-07-19
打赏
举报
回复
collation:校对
utf-8_bin
uft-8_general_ci
指的是排序规则,前者是按照二进制排序,后者是按照普通的字母顺序。
ACMAIN_CHM
2010-07-19
打赏
举报
回复
MySQL官方文档
http://dev.mysql.com/doc/refman/5.1/zh/index.html
ACMAIN_CHM
2010-07-19
打赏
举报
回复
utf-8_bin
以二进制值进行比较,也就是区分大小写
uft-8_general_ci
一般比较,不区分大小写 'A'='a'
ACMAIN_CHM
2010-07-19
打赏
举报
回复
10.1. 常规字符集和校对
字符集是一套符号和编码。校对规则是在字符集内用于比较字符的一套规则。让我们使用一个假想字符集的例子来区别清楚。
假设我们有一个字母表使用了四个字母:‘A’、‘B’、‘a’、‘b’。我们为每个字母赋予一个数值:‘A’=0,‘B’= 1,‘a’= 2,‘b’= 3。字母‘A’是一个符号,数字0是‘A’的编码,这四个字母和它们的编码组合在一起是一个字符集。
假设我们希望比较两个字符串的值:‘A’和‘B’。比较的最简单的方法是查找编码:‘A’为0,‘B’为1。因为0 小于1,我们可以说‘A’小于‘B’。我们做的仅仅是在我们的字符集上应用了一个 校对规则。校对规则是一套规则(在这种情况下仅仅是一套规则):“对编码进行比较。”我们称这种全部可能的规则中的最简单的 校对规则为一个binary(二元)校对规则。
但是,如果我们希望小写字母和大写字母是等价的,应该怎样?那么,我们将至少有两个规则:(1)把小写字母‘a’和‘b’视为与‘A’和‘B’等价;(2)然后比较编码。我们称这是一个大小写不敏感的 校对规则。比二元校对规则复杂一些。
在实际生活中,大多数字符集有许多字符:不仅仅是‘A’和‘B’,而是整个字母表,有时候有许多种字母表,或者一个东方的使用上千个字符的书写系统,还有许多特殊符号和标点符号。并且在实际生活中,大多数 校对规则有许多个规则:不仅仅是大小写不敏感,还包括重音符不敏感(“重音符” 是附属于一个字母的符号,象德语的‘Ö’符号)和多字节映射(例如,作为规则‘Ö’=‘OE’就是两个德语 校对规则的一种)。
MySQL
57,063
社区成员
56,759
社区内容
发帖
与我相关
我的任务
MySQL
MySQL相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MySQL相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章