首页 > 代码库 > Mysql基础之字符集与乱码
Mysql基础之字符集与乱码
原文: Mysql基础之字符集与乱码
Mysql的字符集设置非常灵活
可以设置服务器默认字符集
数据库默认字符集
表默认字符集
列字符集
如果某一个级别没有指定字符集,则继承上一级.
以表声明utf8为例:
存储的数据在表中,最终是utf8;
1:告诉服务器,我给你发送的数据是什么编码的? character_set_client
2:告诉转换器,转换成什么编码? Character_set_connection
3:查询的结果用什么编码? Character_set_results
如果以上3者都为字符集N, 则可以简写为 set names N
推论: 什么时将会乱码?
1: client声明与事实不符
2:results与客户端页面不符的时候.
什么时间将会丢失数据?
Connetion和服务器的字符集比client小时.
校对集: 指字符集的排序规则
一种字符集可以有一个或多个排序规则.
以Utf8为例, 我们默认使的utf8_general_ci 规则,也可以按二进制来排, utf8_bin
怎么样声明校对集?
Create table ()... Charset utf8 collate utf8_general_ci;
注意:声明的校对集必须是字符集合法的校对集.
Mysql基础之字符集与乱码
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。