(6)mysql中的字符集
来源:程序员人生 发布时间:2015-04-24 08:23:35 阅读次数:3130次
概述
??从本质上来说,计算机只辨认2进制代码,因此,不论计算机程序还是其处理的数据,终究都必须转化为2进制码,计算机才能辨认。人们给每个文字符号编码以便计算机辨认处理,这就是计算机字符集的由来。
选择适合的字符集
MySQL5.6支持几10种字符集,包括UCS⑵、UTF⑴6、UTF⑴6LE、UTF⑶2、UTF⑻、utf8mb4等Unicode字符集,选择字符集可以斟酌以下几个因素:
- 满足利用支持语言需求,如果利用需要处理各式各样的文字,应当选择Unicode编码,对MySQL,建议为UTF⑻;
- 如果利用中触及已有数据导入,要充分斟酌数据库字符集对已有数据的兼容性。
- 如果数据库只需要支持1般中文,数据量大,性能要求较高,那可以选择双字节定长编码的中文字符集,比如GBK,由于相对UTF⑻,GBK比较小,每一个汉字只占2个字节,utf⑻汉字需要3个字节;相反,如果主要处理英文字符,选择UTF⑻更好,由于GBK,UCS⑵,UTF⑴6中的西文字符编码都是2个字节。
- 如果数据库需要做大量的字符运算,选择定长字符集更好1些。
- 如果所有的客户端程序都支持相同的字符集,则优先选择该字符集作为数据库的字符集。
经常使用字符集比较:
MySQL字符集
- MySQL支持在同1台服务器,同1个数据库,乃至同1个表的不同字段都可使用不同的字符集。
- MySQL字符集包括
字符集
和校订规则
;其中字符集用来定义MySQL存储字符串的方式,校订规则用来定义字符串比较方式,字符集与校订规则是1对多的关系。
- MySQL有4个级别的默许设置:服务器级,数据库级,表级,字段级。服务器级可以在MySQL配置文件(my.cnf)中设置
character-set-server=utf⑻
;其他是创建时候设置。
- 对实际利用中, 还存在客户端和服务器之间的字符集和校订规则设置。MySQL提供3个参数设置:
character_set_client
、character_set_connection
、character_set_results
分别代表客户端、连接、返回结果的字符集。通常不会单独设置这3个参数,可以通过命令:set names ***
来设置,还可以设置my.cnf中的default-character-set=utf⑻
来设置。
MySQL字符集系统变量含义以下:
生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠