mysql的表里面中文显示乱码
我也踩过这个坑( 1 )
数据库
详细描述
错误截图
编辑于2024-11-23
-
[深圳|结业弟子]JAVA-陈哲明0查询字符集show variables like 'char%';会发现 database 的编码方式是latin1 并且server的编码方式也是latin1database的编码方式如果没有指定,默认使用的就是server 的编码方式所以你会发现这两个字符集是一样的。然后在Mysql中进行了对database和server的编码方式的修改set character_set_database=utf8;set character_set_server=utf8;结果重启Mysql后发现字符集依然是原来的lantin1最后总结了一下,才测试正确,下面是配置方法。1.首先查看etc安装目录下有没有my.cnf文件cd /etcls -l | grep my.cnf如果存在可以跳过第二步2.my.cnf不存在需要到Mysql配置文件路径下复制一个文件过来,配置文件路径在/usr/share/mysql下我复制的是my-default.cnf文件,在/etc中复制文件过来,将文件改名为my.cnf ,执行以下命令cd /etccp /usr/share/mysql/my-default.cnf my.cnf3.使用vi编辑器打开my.cnf加入下面几段话建议先对文件进行备份,不过因为文件本来就是从/usr/share/mysql中复制过来的,也可以不用备份,然后打开cp my.cnf my.cnf.baksudo vi my.cnf在[mysqld]最下面加入下面几句话default-storage-engine=INNODBcharacter-set-server=utf8collation-server=utf8_general_ci然后保存退出修改后如下:发现database和server的字符集都变成了utf8,无论怎么修改,重启后字符集都是utf8,证明你成功了。如果设置到这里还不行,再进入一下/etc/mysql/mysql.conf.d找到mysqld.cnf文件cd /etc/mysql/mysql.conf.dvim mysqld.cnf然后在mysqld.cnf中[mysqld]下面加入这句话character-set-server=utf8然后再重启下Mysql编辑于2018-09-28
- 去第 页