ubuntu 14.04和16.04 解决 sql 导入中文乱码问题

 最近遇到了在ubuntu上安装mysql导入中文乱码问题,解决在这里记录一下。

 导致导入文乱码的原因是character_set_server默认设置latin1.

可以进入mysql shell 查看,先启动mysql 服务:

$ sudo service mysql start

通过下面命令进入mysql sell:

$ mysql -u root -p

 在mysql sehll输入以下命令看编码格式:

mysql> show variables like "char%";

 

第一种方法: 可以直接在mysql sehll修改编码格式:

mysql> set charcater_set_server=utf8;

但是重启会失效这里说的失效的 出了mysql shell 界面就是失效。

第二种方法:

 修改配置文件:

在ubuntu 14.04 和ubuntu 16.04 配置文件的位置和名字都不一样,这里分别给出。

在ubuntu 14.04 中的配置文件为my.cnf,输入以下命令进入:

$ sudo gedit /etc/mysql/my.cnf

 在ubuntu 16.04 中的配置文件为my.cnf,输入以下命令进入:

$ sudo gedit /etc/mysql/mysql.conf.d/mysqld.cnf

但是他们修改的方式都是一样的,接下来进入文件后会找到:

在下面添加一行character_set_server=utf8;下面是配置文件,粘贴出来的。

[mysqld]
#
# * Basic Settings
#
user        = mysql
pid-file    = /var/run/mysqld/mysqld.pid
socket        = /var/run/mysqld/mysqld.sock
port        = 3306
basedir        = /usr
datadir        = /var/lib/mysql
tmpdir        = /tmp
lc-messages-dir    = /usr/share/mysql
character_set_server=utf8 #加入这一行设置character_set_server编码格式
skip-external-locking

 保存后,重启mysql服务:

$ sudo /etc/init.d/mysql restart

进入mysql shell命令行,查看发现编码格式更改了:

原文地址:https://www.cnblogs.com/-1024/p/9154076.html