【干货】mysql字符集的几大守则

内容很短但是都是干货,实践+理论总结,欢迎拍砖

声明:下面的守则不适用于排序集

1)set names 和default-character-set 等价
2)写入的时候set names(default-character-set )比表的字符集等级小就能写进去,并且读的时候怎么写入的怎么读才不会乱码
3)子集向超集转换后的逆过程不会产生乱码,但是需要用子集来读
gbk----utf8(导入,导出)-----gbk latin1------utf8(导入,导出) -----latin1这样不会乱码
4)utf8-----latin1(set names)-----utf8(table)存储会变长
5)utf8在存汉字的时候能够和gbk互相转换。但是还是符合怎么(client)存进来的怎么读,需要set names一致才能不读出乱码

时间: 2024-10-05 02:45:23

【干货】mysql字符集的几大守则的相关文章

MySQL字符集

一. 选择合适的字符集 二. MySQL支持的字符集 MySQL服务器可以支持多种字符集,在同一台服务器.同一个数据库甚至同一个表的不同字段都可以指定使用不同的字符集. 查看所有可用的字符集命令是show character set; 或者查看information_schema.character_set,可以显示所有的字符集和该字符集默认的校对规则.desc information_schema.character_sets; MySQL的字符集包括字符集(CHARACTER)和校对规则(C

MySQL 字符集

查看mysql 字符集设置情况: show variables like '%char%' +--------------------------+----------------------------------------+ | Variable_name | Value | +--------------------------+----------------------------------------+ | character_set_client | gbk | | chara

mysql字符集小结

author:skate time:2013/04/09 mysql字符集小结 今天同事阿杰兄发现内部一台mysql测试服务器乱码,以前也记录过关于字符集的,今天再补充下 修改mysql的字符集和默认存储引擎 http://blog.csdn.net/wyzxg/article/details/7581415 查看库现有的字符集: mysql> show variables like '%char%'; +--------------------------+------------------

关于MySQL字符集问题【已解决】

关于MySQL字符集问题[已解决] 先来看看我的字符集设置 全都是utf8.这里没有什么问题 接下来我创建了一个数据表book.来看下我创建的表结构 当输入命令:mysql> insert into book(bookname,publisher,author,price,detail) values('PHP','电子工业出版社','武胜利','80.00','与PHP相关的图书');ERROR 1366 (HY000): Incorrect string value: '\xB5\xE7\x

mysql字符集调整总结

mysql字符集调整总结 --http://xjsunjie.blog.51cto.com/999372/1355013 字符集是一套符号和编码的规则,不论是在oracle数据库还是在mysql数据库,都存在字符集的选择问题.对于数据库来说,字符集又是比较重要的,因为数据库存储的数据大部分都是各种文字,字符集对于数据库的存储.处理性能以及数据迁移都有重要的影响. 如果在数据库创建阶段没有正确选择字符集,那么可能在后期需要更换字符集,而字符集的更换是代价比较高的操作,也存在一定的风险,所以我们建议

MySQL字符集编码

MySQL字符集编码总结 之前内部博客上凯哥分享了一篇关于mysql字符集的文章,之前我对mysql字符集一块基本没有深究过,看到凯哥文章后有些地方有点疑惑,遂自己去看了mysql的官方文档,并参考了凯哥的文章,总结了这篇博文.本文主要是对mysql常见的字符集问题进行整理,如有错误,请大家指正. 1.MySQL字符集编码简介 谈到字符集,总会跟编码扯上关系,有关字符集和编码的理论知识请参见我之前的文章.MySQL内部是支持多种字符集的,这里就不再严格区分字符集和编码的概念了.同时,MySQL中

docker mysql 文件挂载和MySQL字符集设置

docker run -p 3306:3306 --name mysql -v /usr/local/mysql/my.cnf:/etc/mysql/my.cnf -v /usr/local/mysql/logs:/logs -v /usr/local/mysql/data:/mysql_data -e MYSQL_ROOT_PASSWORD=root -d mysql:5.6 -p 3306:3306:将容器的3306端口映射到主机的3306端口 -v $PWD/conf/my.cnf:/et

MySQL字符集的设置

Notice:文章基于ubuntu系统而写 1.关于MySQL字符集 MySQL的字符集支持(Character Set Support)有两个方面: 字符集(Character set)和排序方式(Collation). MySQL对于字符集的支持细化到四个层次: 服务器(server),数据库(database),数据表(table)和连接(connection). MySQL对于字符集的指定可以细化到一个数据库,一张表,一列,应该用什么字符集. 2.查看MySQL字符集 2.1.查看字符集

phpmyadmin里MySQL字符集:cp1252 West European (latin1) ,解决乱码问题

使用虚拟主机空间上的phpmyadmin操作数据库的时候,如果看到phpmyadmin首页上显示的MySQL 字符集为cp1252 West European (latin1),当我们导入数据时就会出现乱码,解决的方法是: 在phpmyadmin首页的右边有个Language选项,把默认的中文 - Chinese simplified-gb2312改成 中文 - Chinese simplified,则左边的MySQL 字符集会变成UTF-8 Unicode (utf8) ,乱码问题得到解决!