为什么MySQL的字符集已经改成了utf8,还是不能正常显示中文,因为你漏了很重要的一点 |
您所在的位置:网站首页 › mysql汉字乱码怎么办 › 为什么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配置文件中,修改其默认编码 找到如下代码: 在其中加入如下代码: URIEncoding="UTF-8" 5、 新建数据表,插入数据测试,就可以正常显示中文了。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |