Mysql字符集和校验规则
字符集和校验规则
1.Mysql的字符集和校验规则有4个级别的默认设置:服务器级,数据库级,表级和字段级。分别在不同的地方设置,作用也不相同。
校验规则命名约定:字符集名开始,通常包括一个语言名,并宜_ci(大小写不敏感),_cs(大小写敏感),_bin(二元,即比较是基于字符编码的值而与language无关)结束
collation设置的是是否需要区分大小写,按什么方式排序
通过命令:show variables like 'character_set_server'查看服务器级字符编码;show variables like 'collation_server'查看服务器级校验规则
2.服务器级字符集和校验规则:在Mysql启动时确定,在my.cnf中设置,如果没有指定字符集,默认为latin1,如果没有设置校验规则,默认使用字符集校验规则:
[mysqld]
#character-set-server字符集,collation_server默认服务器级校验规则(例如是否区分大小写规则)
character-set-server=utf8
collation_server=utf8_general_ci
3.数据库级字符集和校验规则:
通过命令:show variables like 'character_set_database'查看数据库级字符编码;show variables like'collation_database'查看数据库级校验规则
4.客户端与服务器交互字符集和校验规则设置,涉及character_set_client(客户端),character_set_connection(连接),character_set_results(返回结果字符集),通常情况下3个字符集应该相同的
[mysqld]
default_character_set=utf8
5.中途更改字符集:直接使用命令修改字符集,既有数据字符集不会生效,需要导出数据库,重新设置字符集然后导入
更多相关文章
- MySQL数据库总结(8)字符集与校对集
- mysql字符集浅谈
- mysql字符集设置
- Mysql迁移由于字符集导致乱码的数据
- Mysql基础之字符集与乱码
- 使用gulp-spritesmith属性生成:悬浮规则,而不是类选择器
- 如何在Sencha Touch中向模型添加自定义验证规则
- JavaScript正则表达式定义字符集
- 【整理】更改MSSQL默认字符集