mysql数据库中文输入问题

1.mysql 运行环境是ubutu12.04,mysql版本为5.5.40

2.出现的问题:
无法在mysql环境中插入中文(以stu表为例)
stu 表结构为:

mysql> desc stu;

+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(4)      | NO   |     | NULL    |       |
| name  | varchar(12) | NO   |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+

但是在插入:insert into stu values(2,'小里');将命令复制到mysql中,但是中文无法插入,显示为:
insert into stu values(2,'');

查看stu表内容为:

mysql> select * from stu;
+----+------------+
| id | name       |
+----+------------+
|  2 | ?????????? |
+----+------------+

其中显示内容出现乱码。

其中mysql的编码为:

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/local/mysql/share/charsets/ |
+--------------------------+----------------------------------+

但是在网上察看到如下信息:

[mysql]
default-character-set=utf8
[mysqld]
character-set-server=utf8

这时只需要将下的默认编码 default-character-set=utf8 改为 default-character-set=gbk

修改之后,还是不能输入中文,显示还是出现乱码。

请问大家有没有遇到以上这种现象,该怎么解决呢?

阅读 2.6k
2 个回答

1.mysql中不能输入中文,已经解决。导入环境变量。 export LC_ALL=en_US.UTF8
但是中文可以输入了,记录被插入进去了,但是查看的时候还是不能够显示中文。

先执行

mysql> SET NAMES utf8;

再插入和取出

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题