这篇文章详细介绍一下MySQL中的字符集和字符序相关的问题,里里外外地了解一下字符集和字符序的方方面面,同时重点说明一下开发中需要注意的问题。
文章基于MySQL 8.0,也会涉及到5.7版本。主要参考MySQL手册:https://dev.mysql.com/doc/refman/8.0/en/
utf8mb4
字符集(可支持emoji);utf8
字符集是utf8mb3
字符集的别名,避免使用;latin1
,而8.0中是utf8mb4
;SHOW CHARACTER SET
查看当前服务器所支持的字符集;SHOW COLLATION
查看所有的字符序;SHOW VARIABLES LIKE "character_set%"
查看当前服务以及数据库的字符集设置;SET NAMES charset_name
来设置和数据库一致的字符集;在大多数情况下,我们并不需要了解字符集与字符序,但是在涉及到不同字符集的转换时可能会出现问题,这时了解一下相关的知识还是有帮助的。
我们首先了解一下字符集的原理。
字符是我们经常接触到的东西,比如a、中、ß,以及