背景:
数据库中保存的是utf8mb4格式的字符,但是命令行查出来后显示乱码,经检查,数据库配置和创建表时都已经指定utf8mb4。那么问题就出在命令行的显示上,解决办法如下
数据库本身安装时默认已经是使用utf8编码的了,但在命令行中执行查询时,查询到的中文依然乱码,解决方法如下:
方法一:命令行连接时指定编码
1 | > mysql -hlocalhost -uroot -p123456 --default-character-set=utf8mb4 |
方法二:登录后设置客户端编码
1 | > mysql -hlocahost -uroot -p123456 |
关于set names
更详细的讨论,可以参考 http://mysql.taobao.org/monthly/2015/05/07/