码迷,mamicode.com
首页 > 数据库 > 详细

mysql中文乱码问题

时间:2015-05-13 22:06:22      阅读:214      评论:0      收藏:0      [点我收藏+]

标签:mysql   数据库   编码   乱码   linux   

      虽然电脑装了mysql,但是一直没怎么去研究修改该编码的问题,平时需要使用汉字的时候,都是用拼音来代替的,因为是在做一些简单的语法练习,所以也没怎么太关注这个问题。
      我的数据库已经有了一些乱码的数据表,在网上百度了一些方法,比如:
mysql> set names utf8;#修改编码为utf8
这些根本不管用,结果还是乱码。还有一些就是先看看数据库目前都是处于哪些编码状态:
mysql> show variables like '%character%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | latin1                     |
| 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)

mysql>
然后使用类似如下的命令,将不是utf8的编码的,依次修改成utf8
mysql> set character_set_database=utf8;
貌似这样的方法重启之后,又会还原。后来又看到一个方法,就是修改配置文件来完成的,这种我试了下,重启之后不会还原。
先是关闭mysql服务(网上是用 service mysql stop,试了,用不了)
buzhidao@nongfushanquan-K55VD:~$ sudo /etc/init.d/mysql stop
然后改配置文件
buzhidao@nongfushanquan-K55VD:~$ sudo gedit /etc/mysql/my.cnf
然后添加下面的内容(末尾不要有多余的空格什么的,我不小心在末尾多敲一个空格,结果没生效):
character_set_server=utf8  
init_connect='SET NAMES utf8'

技术分享

最后打开mysql服务(网上是用 service mysql start,试了,用不了)

buzhidao@nongfushanquan-K55VD:~$ sudo /etc/init.d/mysql start

于是乎我就开始建表了,结果发现最后中文还是乱码,我就查看了一下建表的语法,发现默认编码还不是utf8,

技术分享

然后我又新建一个表,这次我指定了表的编码,最后中文部分可以正常显示。

技术分享


mysql中文乱码问题

标签:mysql   数据库   编码   乱码   linux   

原文地址:http://blog.csdn.net/li_jun_09_05/article/details/45696587

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!