为什么MySQL的字符集已经改成了utf8,还是不能正常显示中文,因为你漏了很重要的一点

您所在的位置:网站首页 mysql汉字乱码怎么办 为什么MySQL的字符集已经改成了utf8,还是不能正常显示中文,因为你漏了很重要的一点

为什么MySQL的字符集已经改成了utf8,还是不能正常显示中文,因为你漏了很重要的一点

2023-07-21 13:47| 来源: 网络整理| 查看: 265

1、  修改mysql数据库的整体编码

查看方式数据库编码:

show variables like '%char%';

上图是我已经改好的

首先可以进行数据库配置文件my.ini 文件修改:

打开my.ini找到[client]添加一行

default-character-set=utf8

 找到[mysqld]这行添加代码如下

character-set-server=utf8

collation-server=utf8_general_ci

 

要记住,一般该配置文件是拒绝访问的,更别提修改了,此时可以将该文件复制到桌面,在桌面上以记事本的形式打开my.ini,然后将桌面上已经修改好的my.ini复制进去。

重新打开mysql,查询字符:show variables like '%char%';              可能还会有两项不是utf8

可以使用下面的语句进行修改

set character_set_database=utf8;

set character_set_server=utf8;

此时,先不要着急重新建表或者插入数据,接下来的操作很重要,很重要,很重要,重要的事情说三遍 (有多重要,如果你不进行下面的操作,怎么改都不会显示中文) 一定要重启你的数据库服务器

我的电脑,右击,选择管理,点开服务,找到MySQL,重启动此服务

(此修改对已插入的数据无效)

(你也可以通过命令重启mysql的服务器,命令问度娘)

2、   修改eclipse的页面编码

在eclipse中的window—preferences—General—workspace—页面左下角中的Text file encoding 设置为utf-8,

3、 修改jdbc连接属性编码

有一次乱码问题是通过在jdbc连接属性中的url=jdbc:mysql://localhost:3306/contact_sys的最后加入、

?useUnicode=true&characterEncoding=UTF-8,就像是在Get请求在url下加入一下参数一样,这样就确保了java与mysql进行连接时的编码统一

4、  tomcat服务器编码

tomcat默认使用iso-8859-1进行提交的数据解码,而提交的数据是使用utf-8编码的,编解码对不上自然会出现乱码.解决办法就是指定解码方式。

于是我决定彻底解决问题:在tomcat/cof/server.xml配置文件中,修改其默认编码

找到如下代码:   

在其中加入如下代码:

URIEncoding="UTF-8"

 5、 新建数据表,插入数据测试,就可以正常显示中文了。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3