Ubuntu下Mysql数据库utf8编码设置、
在操作mysql 数据库的时候,需要存取汉字,但是在出现/4x/7x/xx不能存储
什么的最讨厌了,
但是我在改编码的时候有一个点,不知道什么原因,改成gbk的时候就出现乱码
What?,gbk不就是解汉字的么?怎么还乱码?
没事,这只是我个人计算机中的问题,如果你的计算机能用gbk那就用吧,
不过,还是推荐改成utf8吧,问题会相对少点。
那么就来解决吧。
第一步:
输入sudo gedit /etc/mysql/mysql.conf.d/mysqld.cnf 进入此文件
找到lc-messages-dir= /usr/share/mysql这一条
在下面添加一句:character-set-server=utf8
第二步:
输入sudo gedit /etc/mysql/conf.d/mysql.cnf 进入此文件
进去后,在[mysql]下面
添加一条语句:default-character-set=utf8
第三步:重启MySQL服务
/etc/init.d/mysql restart
第四步:进入数据库查看结果
进入数据库:
mysql -u root -p
进入后输入:
show variables like 'char%';
查看编码(别漏了语句的" ; "符号)
但是,其中有一条character_set_filesystem的编码还是:binary,没关系
他并不影响什么,至少在我看来没有大问题,所以就别费时间修改他了。
最后,值得注意的是,你存储汉字数据时还是出现编码问题,那么你就要
查看你创建的数据库的编码了
输入:show create database 数据库名;
得到:
name | CREATE DATABASE `sunck` /*!40100 DEFAULT CHARACTER SET binary */
是不是没有改成utf8?,那就修改编码吧,
alter database 数据库名 character set utf8 ;
然就再查看,问题就解决了,记得,以后创建数据库,记得指定编码创建吧
创建数据库并指定编码:create database 数据库名 character set utf8 ;