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

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配置文件中,修改其默认编码

找到如下代码:   

<Connector port="8080"protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443"/>

在其中加入如下代码:

URIEncoding="UTF-8"

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

  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值