当前位置:Gxlcms > 数据库问题 > mysql中文乱码问题

mysql中文乱码问题

时间:2021-07-01 10:21:17 帮助过:30人阅读

  1. mysql> set names utf8;#修改编码为utf8
这些根本不管用,结果还是乱码。还有一些就是先看看数据库目前都是处于哪些编码状态:
  1. mysql> show variables like '%character%';
  2. +--------------------------+----------------------------+
  3. | Variable_name | Value |
  4. +--------------------------+----------------------------+
  5. | character_set_client | utf8 |
  6. | character_set_connection | utf8 |
  7. | character_set_database | latin1 |
  8. | character_set_filesystem | binary |
  9. | character_set_results | utf8 |
  10. | character_set_server | latin1 |
  11. | character_set_system | utf8 |
  12. | character_sets_dir | /usr/share/mysql/charsets/ |
  13. +--------------------------+----------------------------+
  14. 8 rows in set (0.00 sec)
  15. mysql>
然后使用类似如下的命令,将不是utf8的编码的,依次修改成utf8
  1. mysql> set character_set_database=utf8;
貌似这样的方法重启之后,又会还原。后来又看到一个方法,就是修改配置文件来完成的,这种我试了下,重启之后不会还原。
先是关闭mysql服务(网上是用 service mysql stop,试了,用不了)
  1. buzhidao@nongfushanquan-K55VD:~$ sudo /etc/init.d/mysql stop
然后改配置文件
  1. buzhidao@nongfushanquan-K55VD:~$ sudo gedit /etc/mysql/my.cnf
然后添加下面的内容(末尾不要有多余的空格什么的,我不小心在末尾多敲一个空格,结果没生效):
  1. character_set_server=utf8
  2. init_connect='SET NAMES utf8'

技术分享

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

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

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

技术分享

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

技术分享


mysql中文乱码问题

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

人气教程排行