response.setContentType 与 request.setCharacterEncoding 区别

    xiaoxiao2021-03-25  149

    response.setContentType与 request.setCharacterEncoding 区别

    request.setCharacterEncoding()是设置从request中取得的值或从数据库中取出的值 response.setContentType("text/xml;charset=GBK")是设置页面中为中文编码  前者是设置动态文字(参数,数据库),后者设置页面静态文字  response.setContentType指定 HTTP 响应的编码,同时指定了浏览器显示的编码.  response.setCharacterEncoding设置HTTP 响应的编码,如果之前使用response.setContentType设置了编码格式,则使用response.setCharacterEncoding指定的编码格式覆盖之前的设置. 与response.setContentType相同的是,调用此方法,必须在getWriter执行之前或者response被提交之前 补充: 问题1 :从Jsp页面页面传递参数到Servlet显示中文乱码 解决办法: 如果是post 方法提交 则加入以下代码: request.setCharacterEncoding("GBK");//注意首先保证编码一至,jsp页面用什么编码在此就用什么编码(GBK/GB2312等),此代码只对post提交方式有效 response.setContentType("text/xml;charset=GBK")是设置页面中为中文编码 备注:以上两行代码必须放在PrintWriterout=response.getWriter(); 之前 get 方法提交 如变量name 用  String name = new String(request.getParameter("name").getBytes("ISO-8859-1"),"GBK");

    问题2:解决get方式提交乱码问题:

    修改tomcat server.xml 文件,加上红色部分代码

    <Connector port="8080" protocol="HTTP/1.1"                 connectionTimeout="20000"                 redirectPort="8443"                URIEncoding="GBK"/>

    备注:以上字符编码格式根据自己需要设定,只要保持一致即可

    转载地址:http://blog.csdn.net/u012188794/article/details/41695827

    转载请注明原文地址: https://ju.6miu.com/read-20089.html

    最新回复(0)