数据库内容乱码怎么办,数据库数据显示乱码
在web项目中,有很多地方设置了字符集。最好能统一起来,不然出了问题就不好找了。以utf8为例,这是我最喜欢的字符集。让我们看看字符集设置在哪里。
首先,mysql服务器,在安装后的配置阶段,最好设置字符集为utf8,默认为latin1,经常出现乱码。在安装的地方,找到my.ini里面有两个字符集,可以修改一下。
然后,是sql的客户端sqlyog,非常好用。但是,时间长了,发现自己写不出sql语句。我不得不回顾一下这个字符集的变化。查了半天,软件不是很熟悉。创建表格时,下面有一个“高级属性”按钮,在这里字符集被改为utf8。
sql端设置好之后,就到了项目中的字符集。首先,在jsp页面中,应该添加第一句话:
% @ page language= Java import= Java . util . * page coding= UTF-8 %,否则保存时可能会出现错误,因为不识别页面中的中文。
页面完成后,就是配置文件了。
在连接数据库的applicationContext.xml中,最好添加字符集,以防连接时出现错误。
属性名=url
value= JDBC:MySQL://localhost:3306/mmcwz?useUnicode=true amp字符编码=UTF-8
/属性
Struts-config.xml,上面会有这样的东西:
?xml版本=1.0 编码=UTF-8 ?是自动生成的。
在web.xml中,非常重要的设置,过滤器的设置。
过滤器
过滤器名称字符编码过滤器/过滤器名称
filter-class org . spring framework . web . filter . character encoding filter/filter-class
初始化参数
param-name编码/param-name
参数值UTF-8/参数值
/init-param
/过滤器
这些都做好了,应该就没问题了。问的时候,找出哪一步有问题,就像刚才,我在mysql,用mmcwz,select * from announcementinfo检索到的表中的数据已经是乱码,说明sqlyog和mysql的字符集不一致。之后显示Create Table Announcement Info,发现charset其实是gbk,从而发现问题。也可以在java文件中插入桩。如果发现乱码,可能是配置问题或者页面设置问题。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。