好记忆,不如按烂笔头...
用到的时候去找,真的挺麻烦的,还不如查看自己的笔记...
前言
MYSQL 数据库,作为软件开发人员常用的数据库,其使用场景和场地可见一般,但是乱码的问题也让人头疼,那么如何设置可以避免乱码的出现呐、
一、查看数据库编码
数据库客户端和服务端的编码设置查看
SHOW VARIABLES LIKE 'character_set_%';
链接段的编码的设置
SHOW VARIABLES LIKE 'collation_%';
由此可以看本机或者远程服务器上mysql的编码的情况,如果不是utf8格式的,那么就需要你特别的注意了。。。
二、MySQL 编码的设置、
wins 是在安装目录的 my.ini 文件中,Linux 是在 /etc/my.cnf 下,具体擦着如下(从上而下):
1. 在 [ client ] 标签下加上
default-character-set=utf8mb4
2.在[mysql] 标签下,更改
default-character-set=utf8mb4
3. 在[mysqld] 标签下
lower_case_table_names=1 不区分大小写
character-set-server=utf8mb4 设置server编码utf8
4. 重新启动MySql服务
Windows可在服务管理器中操作,也可使用命令行:
net stop mysql 回车
net start mysql 回车
Linux下面可是用 service mysql restart
5. utf8 和utf8mb4 的区别
关于emoji表情的话mysql的utf8是不支持,需要修改设置为utf8mb4,才能支持,
MYSQL 5.5 之前, UTF8 编码只支持1-3个字节,只支持BMP这部分的unicode编码区, BMP是从哪到哪,到 http://en.wikipedia.org/wiki/Mapping_of_Unicode_characters 这里看,基本就是0000~FFFF这一区。 从MYSQL5.5开始,可支持4个字节UTF编码utf8mb4,一个字符最多能有4字节,所以能支持更多的字符集。utf8mb4 is a superset of utf8
utf8mb4兼容utf8,且比utf8能表示更多的字符。
参见:
http://dev.mysql.com/doc/refman/5.5/en/charset-unicode-utf8mb4.html 有详细说明
虽然都是简单的知识,但是并不是时时刻刻都能记住的