response.setContentType和response.setCharacterEncoding区别

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

设置发送到客户端的响应的内容类型,可以包括字符编码说明,也就是说在服务器端坐了这个设置,那么他将在浏览器端起到作用,在你打开浏览器时决定编码方式。

如果该方法在response.getWriter()被调用之前调用,那么响应的字符编码将仅从给出的内容类型中设置。该方法如果在response.getWriter()被调用之后或者在被提交之后调用,将不会设置响应的字符编码,在使用http协议的情况中,该方法设置 Content-type实体报头.

response.setCharacterEncoding("UTF-8");设置响应的编码,如果服务器端使用response.setContentType设置了编码格式, 那么应该使用 response.setCharacterEncoding指定的编码格式,这样就会把之前的设置屏蔽掉。

一般建议设置response.setCharacterEncoding,因为response.setContentType 经常会遇到失效的情况(设置了,但是经常不起作用)。

猜你喜欢

转载自www.cnblogs.com/iCheny/p/9049245.html