JSP乱码问题

lin_eric 2009-04-13 11:01:20
本人现在在做一个商务网站,之前都是用的过滤器来解决中文乱码的问题的,而且都是成功的,但昨天写了一个新的小模块之后,这个小模块存进数据库里的中文都是乱码的,而其他的模块都还能正常的存取中文的,请各位大哥大姐们给个解决的方法啊!过滤器代码如下:
public class CharacterFilter implements Filter {

public void destroy() {
// TODO Auto-generated method stub

}

public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
// TODO Auto-generated method stub
request.setCharacterEncoding("gb2312");
response.setCharacterEncoding("gb2312");
chain.doFilter(request, response);
}

public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub

}

}
...全文
145 27 打赏 收藏 转发到动态 举报
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2009-04-20
  • 打赏
  • 举报
回复
用struts2很方便
lin_eric 2009-04-14
  • 打赏
  • 举报
回复
啊!!终于解决了!!原来是 contentType="text/html; charset=UTF-8"这里出了问题啊!!
rihce 2009-04-13
  • 打赏
  • 举报
回复
我感觉、出乱码 就是字符编码之间不能转换过来。所以,最好前后台用一致的字符编码。
rihce 2009-04-13
  • 打赏
  • 举报
回复
有form表单么 如果有 是不是 form表单里的method要设置成post。我记得 以前 我也遇到过类似的问题,貌似 就是这样改过来了。
Defonds 2009-04-13
  • 打赏
  • 举报
回复
jsp版AJAX下拉条级联

这个项目里有关于filter的使用、配置
yangkaixin1226 2009-04-13
  • 打赏
  • 举报
回复
是不是数据库的字符问题,建议楼主用UTF-8
lin_eric 2009-04-13
  • 打赏
  • 举报
回复
我在接收参数之前用request.setCharacterEncoding("gb2312");处理了一下,还是不行啊!
cnhuai 2009-04-13
  • 打赏
  • 举报
回复
由于Java默认的编码方式是UNICODE,所以用中文易出问题,常用解决:
String s2 = new String(s1.getBytes(“ISO-8859-1”),”GBK”);

utf-8解决JSP中文乱码问题,在页面的开始处加:
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%> <%request.setCharacterEncoding("UTF-8");%>

如果仍不能解决问题,还需要这样处理一下:
String msg = request.getParameter("message");
String str=new String(msg.getBytes("ISO-8859-1"),"UTF-8");out.println(st);
kampan 2009-04-13
  • 打赏
  • 举报
回复
楼主怎么不用的Struts2自带的过滤器
great1681 2009-04-13
  • 打赏
  • 举报
回复
建议楼主:
检查这个模块的相关请求
是否经过了你这个filter的过滤~~
laorer 2009-04-13
  • 打赏
  • 举报
回复
你要考虑数据库是什么编码,另外,建议最好还是所有的都一致使用 utf8
guolimin1118 2009-04-13
  • 打赏
  • 举报
回复
[Quote=引用 22 楼 ben0759 的回复:]
楼主查看一下自己是什么数据库,每个数据库底层编码都不一样
再检查一下tomcat,在tomcat配置编码,如果tomcat是utf-8,这样你配置了filter还是会乱码的
在filter里面做一些测试,看看你的数据有没有通过你写的filter。
把gb2312改成gbk,有些服务器对gb2312没办法解析的。
[/Quote]
有可能是这个问题哦
mike_24 2009-04-13
  • 打赏
  • 举报
回复
输入的用GBK;

数据库底层编码用utf8
ben0759 2009-04-13
  • 打赏
  • 举报
回复
楼主查看一下自己是什么数据库,每个数据库底层编码都不一样
再检查一下tomcat,在tomcat配置编码,如果tomcat是utf-8,这样你配置了filter还是会乱码的
在filter里面做一些测试,看看你的数据有没有通过你写的filter。
把gb2312改成gbk,有些服务器对gb2312没办法解析的。
lin_eric 2009-04-13
  • 打赏
  • 举报
回复
我把TOMCAT里面那个过滤器拷过来用也还是不行啊! 存的时候也都是通过servlet存进去的啊!
liangcaijiu 2009-04-13
  • 打赏
  • 举报
回复
可能是过滤器没有处理呢
javadaydayup 2009-04-13
  • 打赏
  • 举报
回复
页面,action,数据库编码,以及数据库连接时的编码都采用统一采用utf-8一般OK
moolf 2009-04-13
  • 打赏
  • 举报
回复
乱码是最常见的问题 建议楼至检查一下 都页面到servlet到DB一套下来看看编码是不是统一的 如果是的话 应该不会出现乱码
zm_hs 2009-04-13
  • 打赏
  • 举报
回复
建议使用utf-8
hundsun_2008 2009-04-13
  • 打赏
  • 举报
回复
建议使用gb2312或utf-8
加载更多回复(7)
本课程详细讲解了以下内容:    1.jsp环境搭建及入门、虚拟路径和虚拟主机、JSP执行流程    2.使用Eclipse快速开发JSP、编码问题JSP页面元素以及request对象、使用request对象实现注册示例    3.请求方式的编码问题、response、请求转发和重定向、cookie、session执行机制、session共享问题     4.session与cookie问题及application、cookie补充说明及四种范围对象作用域     5.JDBC原理及使用Statement访问数据库、使用JDBC切换数据库以及PreparedStatement的使用、Statement与PreparedStatement的区别     6.JDBC调用存储过程和存储函数、JDBC处理大文本CLOB及二进制BLOB类型数据     7.JSP访问数据库、JavaBean(封装数据和封装业务逻辑)     8.MVC模式与Servlet执行流程、Servlet25与Servlet30的使用、ServletAPI详解与源码分析     9.MVC案例、三层架构详解、问题以及三层代码流程解析、完善Service和Dao、完善View、优化用户体验、优化三层(加入接口和DBUtil)    1 0.Web调试及bug修复、分页SQL(Oracle、MySQL、SQLSERVER)     11.分页业务逻辑层和数据访问层Service、Dao、分页表示层Jsp、Servlet     12.文件上传及注意问题、控制文件上传类型和大小、下载、各浏览器下载问题     13.EL表达式语法、点操作符和中括号操作符、EL运算、隐式对象、JSTL基础及set、out、remove     14.过滤器、过滤器通配符、过滤器链、监听器     15.session绑定解绑、钝化活化     16.以及Ajax的各种应用     17. Idea环境下的Java Web开发

81,077

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧