关于MYSQL存储中文问题

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

 

形成MYSQL存储中文乱码的缘由是编码格式不一致致使乱码,如何去查看编码是否一致呢?sql

首先进入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,并添加内容:spa

~$ 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服务器:rest

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

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

+--------------------------+----------------------------+
| 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/2258342server

相关文章
相关标签/搜索