Ubuntu mysql表中插入中文显示???的解决方法

时间:2022-12-29 06:31:11

Ubuntu下安装mysql:

sudo apt-get install mysql-server mysql-client


mysql中文显示乱码或者问号是因为选用的编码不对或者编码不一致造成的,最简单的方法就是修改mysql的配置文件my.cnf。

我的系统是Ubuntu14.04

在终端解决方案如下:

sudo gedit /etc/mysql/my.cnf

然后在[client]节点下添加:default-character-set=utf8 
在[mysqld]节点下添加:character-set-server=utf8 
                                           collation-server=utf8_general_ci

保存后重启mysql:

sudo /etc/init.d/mysql stop

sudo /etc/init.d/mysql start

再命令进入mysql:sudo mysql -u root -p

判断是否更改成功:mysql> show variables like '%char%';

如果显示:

+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

则表示成功。

然后把原来的数据库删了,再新建,现在中文数据能够插入了。