永发信息网

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

答案:7  悬赏:30  手机版
解决时间 2021-11-18 23:33
  • 提问者网友:练爱
  • 2021-11-18 03:49
通过servletresponse的什么方法可以设置响应所采用的字符编码
最佳答案
  • 五星知识达人网友:蕴藏春秋
  • 2021-11-18 05:00
在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输出流中字符的编码方式,但是它的优先权最低,在已经使用前两种方法中的一个设置了编码方式以后,它就被覆盖而不起作用了。
全部回答
  • 1楼网友:怀裏藏嬌
  • 2021-11-18 09:42
response.setContentType("text/html;charset=utf-8")
  • 2楼网友:几近狂妄
  • 2021-11-18 08:56
设置服务器端的编码
response.setCharacterEncoding("utf-8”);
默认是ISO-8859-1;
通知浏览器服务器发送的数据格式
response.setHeader("contentType", "text/html; charset=utf-8”);
  • 3楼网友:西岸风
  • 2021-11-18 07:57
可以这样
rep.setContentType("text/html; charset=utf-8");
rep.setCharacterEncoding("utf-8");
  • 4楼网友:雾月
  • 2021-11-18 07:47

可以这样做

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

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

  • 5楼网友:归鹤鸣
  • 2021-11-18 07:19

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

  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");
}
  • 6楼网友:山有枢
  • 2021-11-18 06:05
第一种方法只能用来设置out输出流中所采用的编码,但是他的优先权最高,可以覆盖后两种方法中的设置;
第二中方法即可以设置out输出流中字符的编码方式,也可是设置浏览器接收到这些字符后以什么编码方式来解码,它的优先权低于第一种方法,但高于第三种方法;
第三种方法也只能用来设置out输出流中字符的编码方式,但是它的优先权最低,在已经用前两种方法之一设置了编码方式以后,它就被覆盖而不起作用了。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯