response和request的setCharacterEncoding区别
request.setCharacterEncoding(utf-8);
response.setContentType(text/html;charset=utf-8);
request.setCharacterEncoding():是设置从request中取得的值或从数据库中取出的值。
指定后可以通过getParameter()则直接获得正确的字符串,如果不指定,则默认使用iso8859-1编码。值得注意的是在执行setCharacterEncoding()之前,不能执行任何getParameter()。而且,该指定只对POST方法有效,对GET方法无效。分析原因,应该是在执行第一个getParameter()的时候,java将会按照编码分析所有的提交内容,而后续的getParameter()不再进行分析,所以setCharacterEncoding()无效。而对于GET方法提交表单是,提交的内容在URL中,一开始就已经按照编码分析提交内容,setCharacterEncoding()自然就无效。
get需在Tomcat的server.xml中的:
Connectorport=8080protocol=HTTP/1.1connectionTimeout=20000redirectPort=8443
URIEncoding=GBK/
)加入URIEncoding=GBK,解决get请求乱码问题response.setContentType(text/html;charset=gb2312):是设置页面中为中文编码。即以哪种编码返回给客户端。
前者是设置动态文字(参数,数据库),后者设置页面静态文字
response.setContentType指定返回给客户端的编码,同时指定了浏览器显示的编码.
————————————————
版权声明:本文为CSDN博主「随风梦想」的原创文章,遵循CC4.0BY-SA版权协议,转载请附上原文出处链接及本声明。
清明踏青快乐读书!充100赠500VIP点券! 立即抢充(活动时间:4月4日到4月6日)
飞卢小说网声明
为营造健康的网络环境,飞卢坚决抵制淫秽色情,涉黑(暴力、血腥)等违反国家规定的小说在网站上传播,如发现违规作品,请向本站投诉。
本网站为网友写作提供上传空间存储平台,请上传有合法版权的作品,如发现本站有侵犯权利人版权内容的,请向本站投诉。
投诉邮箱:feiying@faloo.com 一经核实,本站将立即删除相关作品并对上传人作封号处理。