通过servletresponse的什么方法可以设置响应所采用的字符编码

 我来答
易建议
2016-06-22 · 喜欢分享的人都容易获得幸福感~
易建议
采纳数:344 获赞数:1342

向TA提问 私信TA
展开全部

浏览器与服务器交互分为两个动作:

  1. 请求(request)。即浏览器向服务器发送请求;

  2. 响应(response)。服务器收到请求以后,对浏览器做出回应的动作。


在servlet中,HttpServletRequest 和HttpServletResponse两个类分别处理请求和响应两种动作。

楼主你的要求是设置响应的字符串,因此要使用HttpServletResponse这个对象,代码应该这么写:

public void doGet(HttpServletRequest request,HttpServletResponse response){
    response.setHeader("Content-type", "text/html;charset=UTF-8");  
    response.setCharacterEncoding("UTF-8");
}
似灵杉0Ey
推荐于2018-03-11 · TA获得超过313个赞
知道小有建树答主
回答量:341
采纳率:55%
帮助的人:146万
展开全部
在Java后台的Action代码或者Servlet代码中用response的方法来设置输出内容的编码方式,有以下三个方法:

  1、response.setCharacterEncoding("UTF-8");

  2、response.setContentType("text/html;charset=UTF-8");

  3、response.setLocale(new java.util.Locale("zh","CN"));

下面对以上3种方法进行差异分析:

第一种方法只能用来设置out输出流中所采用的编码,但是它的优先权最高,可以覆盖后面两种方法中的设置;

第二中方法可以设置out输出流中字符的编码方式,也可以设置浏览器接收到这些字符后以什么编码方式来解码,它的优先权低于第一种方法,

但高于第三种方法;

第三种方法只能用来设置out输出流中字符的编码方式,但是它的优先权最低,在已经使用前两种方法中的一个设置了编码方式以后,它就被覆盖而不起作用了。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2016-04-16
展开全部
第一种方法只能用来设置out输出流中所采用的编码,但是他的优先权最高,可以覆盖后两种方法中的设置;
第二中方法即可以设置out输出流中字符的编码方式,也可是设置浏览器接收到这些字符后以什么编码方式来解码,它的优先权低于第一种方法,但高于第三种方法;
第三种方法也只能用来设置out输出流中字符的编码方式,但是它的优先权最低,在已经用前两种方法之一设置了编码方式以后,它就被覆盖而不起作用了。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cj96248
2016-06-12
知道答主
回答量:19
采纳率:0%
帮助的人:7.3万
展开全部

可以这样做

response.setHeader("content-type", "text/html;charset=UTF-8");

通过设置响应头控制浏览器以UTF-8的编码显示数据,如果不加这句话,那么浏览器显示的将是乱码

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
海枫一郎1314
2016-05-11
知道答主
回答量:32
采纳率:0%
帮助的人:4.1万
展开全部
可以这样
rep.setContentType("text/html; charset=utf-8");
rep.setCharacterEncoding("utf-8");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式