字符集是一套符号和编码
校对规则是在字符集内比较字符的一套规则
举例子说明:
假设我们有一个字母表使用了四个字母:‘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(二元)校对规则。
在实际生活中,大多数字符集有许多字符:不仅仅是‘A’和‘B’,而是整个字母表,有时候有许多种字母表,或者一个东方的使用上千个字符的书写系统,还有许多特殊符号和标点符号。并且在实际生活中,大多数 校对规则有许多个规则:不仅仅是大小写不敏感,还包括重音符不敏感(“重音符” 是附属于一个字母的符号,象德语的‘Ö’符号)和多字节映射(例如,作为规则‘Ö’=‘OE’就是两个德语 校对规则的一种)。
MySQL5.1能够做这些事情:
· 使用多种字符集来存储字符串
· 使用多种校对规则来比较字符串
· 在同一台服务器、同一个数据库或甚至在同一个表中使用不同字符集或校对规则来混合字符串
· 允许定义任何级别的字符集和校对规则
在这些方面,MySQL5.1不仅比MySQL4.1以前的版本灵活得多,而且比其它大多数数据库管理系统超前许多。但是,为了有效地使用这些功能,你需要了解哪些字符集和 校对规则是可用的,怎样改变默认值,以及它们怎样影响字符操作符和字符串函数的行为。
分享到:
相关推荐
MySQL 是一个广泛使用的开源关系数据库管理系统,它支持多种字符集和校对规则,以满足不同语言和应用场景的需求。字符集决定了数据库能够存储的字符范围,而校对规则则定义了字符之间的比较和排序方式。本文将详细...
简要说明 字符集和校对规则 字符集是一套符号和编码。校对规则是在字符集内用于比较字符的一套规则。 MySql在collation提供较强的支持,oracel在这方面没查到相应的资料。 不同字符集有不同的校对规则,命名约定:以...
校对集是字符集的一个子属性,用于确定字符集中的字符排序规则和比较方式。不同语言可能有不同的排序规则,因此同一个字符集可能有多个校对集。例如,`utf8_general_ci`和`utf8_bin`都是`utf8`字符集下的校对集,...
校对规则(Collation)**:校对规则是字符集的子集,它定义了字符集中的字符如何进行排序和比较。校对规则决定了两个字符串的比较结果,是否区分大小写,以及特定字符的排序位置等。常见的校对规则后缀有_ci(大小...
乱码主要由字符集配置不当引起,这涉及到MySQL支持的多种字符集和校对规则。MySQL支持的字符集包括GBK、UTF-8、UTF-16等,用于表示不同语言的字符。校对规则则是用于比较字符的规则,比如区分大小写、排序顺序等。 ...
1. 字符集和校对规则的重要性:在文档中出现了多个关于字符集和校对规则的命令和设定,如`character_setgb2312`、`utf8`和`collation_%`。字符集(Character Set)定义了数据库中字符的表示方法,而校对规则...
- **服务器字符集和校对规则**:在安装MySQL时,默认会设置服务器级别的字符集和校对规则。 - **数据库字符集和校对规则**:可以在创建数据库时指定字符集和校对规则。 - **表字符集和校对规则**:创建表时也可以...
从给定的文件信息来看,主要关注点在于如何检查和调整MySQL的字符集和校对规则,以解决可能出现的乱码问题。 ### MySQL字符集与校对规则 首先,理解MySQL中的字符集(Character Set)和校对规则(Collation)是...
校对规则定义了如何比较和排序字符串,不同的校对规则可能会对相同的字符集有不同的排序和比较行为。 - **语法示例**: ```sql ALTER DATABASE db_name DEFAULT COLLATE collation_name; ``` 其中 `collation...
4. **调整服务器配置**:在MySQL配置文件(my.cnf或my.ini)中,可以永久设置全局的字符集和校对规则,如: ``` [mysqld] character-set-server=utf8 collation-server=utf8_general_ci ``` 通过以上步骤,...
1. **字符集与校对规则不一致**:MySQL数据库中,每个数据库、表甚至列都可以有独立的字符集和校对规则设置。如果在数据操作过程中,这些设置与客户端或连接字符串中指定的字符集不匹配,就会导致乱码现象。 2. **...
1. **了解可用字符集和排序规则**:MySQL支持多种字符集和排序规则,如UTF-8、UTF-8 MB4等,需要根据实际需求选择合适的配置。 2. **配置服务器级别的字符集和排序规则**:可以在MySQL的配置文件(my.cnf或my.ini)中...
### MySQL字符集与校对规则理解 ...以上内容概述了MySQL中的字符集和校对规则的基本概念及其在不同层次的应用,同时也涉及到了常用的SQL操作命令。正确理解和使用这些概念和命令能够帮助开发者更加高效地管理数据库。
在MySQL中,字符集和校对规则有四个级别的默认设置: 1. **服务器级别**:全局配置,适用于所有数据库和连接。 2. **数据库级别**:针对特定数据库。 3. **数据表级别**:针对表。 4. **连接级别**:针对每个客户端...
MySQL字符编码及乱码解决方案 · 使用多种字符集来存储字符串 · 使用多种校对规则来比较字符串 · 在同一台服务器, 同一个数据库或甚至在同一个表中使用不同字符集或校对...· 允许定义任何级别的字符集和校对规则
在创建表时,可以指定字符集和校对规则,如utf8mb4字符集和utf8mb4_general_ci校对规则。 5. 主键(PRIMARY KEY):主键用于唯一标识表中的每一行记录。创建表时,通过PRIMARY KEY关键字定义一个或多个列作为主键。...
如何设置数据库的字符集和校对规则? 字符集是数据库中用于存储字符的编码方式。常见的字符集有 utf8、gbk、latin1 等。校对规则是数据库中用于比较字符串的规则。可以使用语句 "ALTER DATABASE db_name CHARACTER ...
MySQL支持多种字符集,如`utf8`(Unicode)和`latin1`(西欧字符集),常见的校对规则有`utf8_general_ci`(大小写不敏感)和`utf8_bin`(区分大小写)。 了解并熟练掌握这些基本的数据库管理SQL语句对于MySQL...
要更改数据库的默认字符集和校对规则,可以使用`ALTER DATABASE`语句,例如`ALTER DATABASE mydatabase DEFAULT CHARACTER SET gb2312 DEFAULT COLLATE gb2312_chinese_ci;`。 【查看和切换数据库】 显示所有数据库...