Mysql基础之字符集与乱码
16lz
2021-01-22
原文:
Mysql基础之字符集与乱码
Mysql的字符集设置非常灵活
可以设置服务器默认字符集
数据库默认字符集
表默认字符集
列字符集
如果某一个级别没有指定字符集,则继承上一级.
以表声明utf8为例:
存储的数据在表中,最终是utf8;
1:告诉服务器,我给你发送的数据是什么编码的?character_set_client
2:告诉转换器,转换成什么编码?Character_set_connection
3:查询的结果用什么编码?Character_set_results
如果以上3者都为字符集N,则可以简写为setnamesN
推论:什么时将会乱码?
1:client声明与事实不符
2:results与客户端页面不符的时候.
什么时间将会丢失数据?
Connetion和服务器的字符集比client小时.
校对集:指字符集的排序规则
一种字符集可以有一个或多个排序规则.
以Utf8为例,我们默认使的utf8_general_ci规则,也可以按二进制来排,utf8_bin
怎么样声明校对集?
Createtable()...Charsetutf8collateutf8_general_ci;
注意:声明的校对集必须是字符集合法的校对集.
更多相关文章
- 关于JavaScript变量声明及其初始化的问题
- JavaScript声明全局变量三种方式的异同
- JavaScript正则表达式定义字符集
- 在变量名是字符串时声明变量?
- 读取python中的unicode文件,该文件以与python源代码相同的方式声
- 【整理】更改MSSQL默认字符集
- 字符集问题的初步探讨(五)----如何识别导出文件的字符集
- 更改SQLServer实例默认字符集
- 不幸的是,在声明按钮时,模拟器中出现了错误