2 youvip YouVIP 于 2017.06.19 20:01 提问

mysql查询数据,JSP页面中出现中文乱码

mysql里的编码设置是utf8;
JSP页面中也设置了utf-8;
jsp页面单独打开是中文,传入数据库查询的信息就是乱码,而且原本页面上的中文
也变成乱码了, 但是用system.out.print()输出是中文

6个回答

oyljerry
oyljerry   Ds   Rxr 2017.06.19 20:08

传入的信息先utf8主动编码一次

YouVIP
YouVIP servlet 跳转到jsp页面
4 个月之前 回复
YouVIP
YouVIP servlet中写的response.setContentType("text/html;charset=UTF-8"); request.setCharacterEncoding("UTF-8");
4 个月之前 回复
zhangpan_soft
zhangpan_soft   2017.06.19 20:22

如果我没猜错是因为你的get请求捣的乱,也就是说你的呢个页面应该有get请求,而get请求你又传入了中文所以就导致错误了,简单暴力的方法是在tomcat配置文件中,修改默认编码为utf-8,就解决了,科学办法是,你的参数经过2次urlencoding编码,后台进行一次urlencoding解码,注意前台是2次,后台一次,也解决这个问题

YouVIP
YouVIP tomcat配置文件是配置filter?那是不是要写过滤器啊?
4 个月之前 回复
zhangpan_soft
zhangpan_soft   2017.06.19 20:26

解决问题后望采纳啊,另外如果没解决在详细说下,你现在的呢个问题有9成把握就是我说的问题,解决方案也是我说的那2种解决办法,没解决很大可能是方法没正确使用,

strutce
strutce   Ds   Rxr 2017.06.19 21:16

连接数据库配置信息加上编码设置?useUnicode=true&characterEncoding=UTF8 如jdbc:mysql://localhost:3306/数据库?useUnicode=true&characterEncoding=UTF8

x_mario
x_mario   2017.06.20 09:01

是不是你没改你环境的编码啊,MyEclipse

qq_34523482
qq_34523482   2017.06.20 14:42

在后台编码:response.setContentType("text/html;charset=UTF-8"); request.setCharacterEncoding("UTF-8");

Csdn user default icon
上传中...
上传图片
插入图片