String descrption=request.getParameter("room_description");
descrption=new String(descrption.getBytes("ISO-8859-1"),"UTF-8");//房间介绍
加过滤器之后就不要再转码了, 转码重复了也会继续乱码。
没有什么不对。
但是你要处理表单提交的乱码的话,最好加一个过滤器。首先新建过滤器类
[code="java"]
public class EncodingFilter implements Filter {
public void destroy() {
// TODO Auto-generated method stub
}
public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain arg2) throws IOException, ServletException {
HttpServletRequest request=(HttpServletRequest)arg0;
HttpServletResponse response=(HttpServletResponse)arg1;
request.setCharacterEncoding("utf-8");
request.setCharacterEncoding("utf-8");
arg2.doFilter(request,response);
}
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
}
}
[/code]
然后在web.xml里面配置过滤器
[code="xml"]
encodingFilter
EncodingFilter
encodingFilter
/*
[/code]
希望对你有用。
[quote]但是是插入到mysql中乱码的[/quote]
请确认你的 mysql 数据库使用的字符集
[quote]我家过滤器了 啊,不乱吗了,但是是插入到mysql中乱码的 [/quote]
那就是你mysql的问题咯。还有mysql的连接语句也可以设定编码的:
比如:
[code="java"]jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8[/code]
你先试试,假如还不行,就得改变mysql的编码啦。
若要修改,可参考: [url]http://blog.csdn.net/lihan6415151528/article/details/3868235[/url]