MySQL默认字符集为latin,若要正确显示中文,需要将字符集更改未utf8。修改字符集在ubuntu14和ubuntu16下略有不同。
  编辑配置文件my.cnf
  $sudo vim /etc/mysql/my.cnf
  [client]
  default-character-set=utf8 #增加这一行,指定字符集
  port            = 3306
  socket          = /var/run/mysqld/mysqld.sock
  .............
  [mysqld]
  character_set_server=utf8 #增加这一行,指定字符集
  user            = mysql
  pid-file        = /var/run/mysqld/mysqld.pid
  修改后,重启服务即可。
  sudo /etc/init.d/mysql restart
  查看字符集,所有的database的字符集应该变成utf8了。
  mysql> show variables like '%char%';
  Ubuntu16下修改MySQL字符集
  与Ubuntu14略有不同,主要是几个文件所在位置不同。修改方法如下:
  1 修改mysql的配置文件
  sudo vim /etc/mysql/conf.d/mysql.cnf
  在[mysql]的下方加入如下语句。(注:这个文件下没有配置,只有【mysql】)
  no-auto-rehash default-character-set=utf8
  /etc/mysql/mysql.conf.d/mysqld.cnf
  在[mysqld]下加入
  socket = /var/run/mysqld/mysqld.sock port = 3306 character-set-server=utf8 (这里是server,之前有的版本是set)
  重启mysql:
  sudo /etc/init.d/mysql restart
  查看字符集
  mysql> show variables like '%char%';
  如果出现某个表未改过来的情况则需要更改数据库编码:需要在
  mysql下进行修改。有两种方法, 第一种是一次搞定, 第二种只对当前连接有效,断开连接,恢复更改前状态。
  方法1:
  alter database 数据库名 charset utf8
  方法2:
  set character_set_database = utf8