字符集和校验规则

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.中途更改字符集:直接使用命令修改字符集,既有数据字符集不会生效,需要导出数据库,重新设置字符集然后导入

更多相关文章

  1. MySQL数据库总结(8)字符集与校对集
  2. mysql字符集浅谈
  3. mysql字符集设置
  4. Mysql迁移由于字符集导致乱码的数据
  5. Mysql基础之字符集与乱码
  6. 使用gulp-spritesmith属性生成:悬浮规则,而不是类选择器
  7. 如何在Sencha Touch中向模型添加自定义验证规则
  8. JavaScript正则表达式定义字符集
  9. 【整理】更改MSSQL默认字符集

随机推荐

  1. 循环链表(单双链表)
  2. Android的View组件的几大子类
  3. 一篇文章教会你搭建自己的linux虚拟机
  4. Zabbix5.0服务端和客户端安装
  5. MySQL 百万级数据分页查询及优化
  6. 【开发者必看】2020年移动应用趋势洞察白
  7. Redis系列5-实现简单消息队列
  8. Redis系列6 - Redis事务
  9. Redis系列二 rdb 和 aof 持久化的区别
  10. Java Volatile Atomic关键字