当前位置: 代码迷 >> MySQL >> 关于MYSQL存储中文有关问题
  详细解决方案

关于MYSQL存储中文有关问题

热度:89   发布时间:2016-05-05 16:34:42.0
关于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=utf8collation-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)

?





?

  相关解决方案