我没配置过滤器也没有乱码
想问一下老师 字符编码是怎么一回事为什么你就会乱码 它是由什么决定的呢
从javaweb入门开始就有这个问题了一直想不通
对我来说完全不需要过滤器
正在回答
对于POST方式,它采用的编码是由页面来决定的即ContentType("text/html; charset=GBK")。当通过点击页面的submit按钮来提交表单时,浏览器首先会根据ContentType的charset编码格式来对POST表单的参数进行编码然后提交给服务器,在服务器端同样也是用ContentType中设置的字符集来进行解码。当然这个字符集编码我们是可以自己设定的:request.setCharacterEncoding(charset)设置编码,然后通过request.getParameter获得正确的数据。jsp以GET方式向Servlet提交的时候,可能不会出现乱码
对jsp向另外一个jsp提交参数时,GET提交容易产生乱码(当然tomcat8以后,tomcat对这个问题进行了改进处理,不会出现这个问题),例如用get提交的方法,在url后边拼接参数userName是中文时,接收的页面一般需要用下边的语句处理。
String(request.getParamter("userName").getBytes("ISO8859-1"),"utf-8")
ISO8859-1是tomcat默认编码,需要将tomcat编码后的内容按utf-8编码
乱码的原因有很多,可能其他原因也会造成乱码,虽然有时不会乱码,但为了安全起见,建议同学设置编码过滤器。
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
你好,可以这么理解:
1、在jsp页面设置字符编码格式为utf-8,是为了让jsp页面的中文能够正常显示。
2、统一字符编码格式是统一请求中参数的字符编码格式,所以要用到过滤器,将请求中的字符编码格式设置为utf-8,这么做的目的是为了防止前端页面在向后台传递参数时,出现乱码的现象,祝学习愉快~
- 参与学习 人
- 提交作业 205 份
- 解答问题 4317 个
Java中非常实用的SSM整合开发内容,从Spring开始,到MyBaits的进阶内容,再到SpringMVC的应用,最后是SSM整合开发案例,逐步深入,助你成长为一名Java工程师!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星