- 字符集
1).含义
Mysql的字符集设置非常灵活,
可以设置服务器默认字符集
数据库默认字符集
表默认字符集
列字符集
如果某一个级别没有指定字符集,则继承上一级
2).分析
以表声明UTF-8为例:存储的数据在表中,最终是utf8;
①:告诉服务器我给你发送的数据是声明编码的?character_set_client
②:告诉转换器,转换成声明编码?character_set_connection
③:查询的结果用声明编码?character_set_results
如果以上3者都为字符集N,则可以简写为 set names N
客户端跟服务器相互转换的示意图:
3).推论
什么时候将会乱码?
①:client声明与事实不符
②:results 与客户端页面不符的时候
什么时候将会丢失数据?
collation和服务器的字符集比client小时。
当前端网页是UTF-8后台服务器是GBK怎么转换:
2 校对集
1).定义
一种字符集可以有一个或多个排序规则
以UTF-8为例,我们默认使用utf8_general_ci规则,也可按二进制来排,utf8_bin
怎么声明字符集?
Create table ()...Charset utf8 collate utf8_general_ci;
注意:声明的校对集必须是字符集合法的校对集