关于MYSQL存储中文问题

最近在学习MYSQL时遇到了不能存储中文的问题,在网上找了很多类似的方法,最后都失败了(失败原因:修改完my.cnf文件后mysql server重新启动失败),濒临崩溃的时候重装了下mysql(Ubuntu重装mysql)然后用以下方法走了一遍就解决了。

造成MYSQL存储中文乱码的原因是编码格式不一致导致乱码,如何去查看编码是否一致呢?

首先进入mysql服务器:

~$ mysql -u root -p******
//“*”号处输入密码,与p之间没有空格;

 查看当前数据库相关编码集:

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         | latin1                          |
| character_set_system         | utf8                            |
| character_sets_dir           | /usr/share/mysql/charsets/      |
+------------------------------+---------------------------------+
8 rows in set (0.00 sec)

 如何去修改成一致的编码格式呢?

 Ctrl+C退出mysql服务器。

 用vi或者gedit打开MYSQL配置文件my.cnf,并添加内容:

~$ sudo vi /etc/mysql/my.cnf              //用vi打开

~$ sudo gedit /etc/mysql/my.cnf         //用gedit打开

在[client]标签下,增加客户端的字符编码
[client]
default-character-set=utf8

在[mysqld]标签下,增加服务器端的字符编码
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci

 修改完后,重新启动MYSQL服务器:

~$ sudo /etc/init.d/mysql restart

 再次进入mysql服务器,查看编码集,出现如下结果表示You succeed:

+--------------------------+----------------------------+
| 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)

转载自本人ITeye链接:http://xiaozhuang0706.iteye.com/blog/2258342



don't look back boy~
原文地址:https://www.cnblogs.com/BHfeimao/p/6496574.html