response.getWriter().write("中文");乱码问题

起初遇到这个问题,网上几乎所有的建议都是:

response.setHeader("Content-type", "text/html;charset=UTF-8");  //这句话的意思,是告诉servlet用UTF-8转码,而不是用默认的ISO8859  
response.setCharacterEncoding("UTF-8");

但我这样设了之后发现依然是乱码,好像编码没有改变,于是

response.getWriter().write(response.getCharacterEncoding())

发现结果依然是:ISO-8859-1

后来看到这个网页:http://blog.chinaunix.net/uid-22065871-id-3060392.html

才知道在设定编码之前就调用response.getWriter().write是无效的,于是把代码里之前的response.getWriter().write("Hello World!");删掉,就好了!

时间: 2024-10-09 22:41:34

response.getWriter().write("中文");乱码问题的相关文章

response.getWriter().print("中文")乱码解决

解决方法是在response.getWriter()前加上response..setContentType("text/html; charset=UTF-8"); 下面是示例代码,注意代码中的红色字体: protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { req.setCharacterEncoding("u

request 解决中文乱码问题

package request; import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse; public class RequestDemo4 extends Http

request、response 中文乱码问题与解决方式

request乱码指的是:浏览器向服务器发送的请求参数中包含中文字符,服务器获取到的请求参数的值是乱码: response乱码指的是:服务器向浏览器发送的数据包含中文字符,浏览器中显示的是乱码: 乱码产生的原因:不管是request乱码还是response乱码,其实都是由于客户端(浏览器)跟服务器端采用的编码格式不一致造成的.以request乱码为例:浏览器向服务器发送请求,因为浏览器与服务器之间的通信实质上是socket流,所以要先将请求参数(字符)转换成字节,也就是编码过程,服务器接收到请求

response 返回js的alert()语句,中文乱码如何解决

response 返回js的alert()语句,中文乱码如何解决, 步骤1:在后台加上如下代码: response.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=utf-8;"); 完整参考代码如下: response.setCharacterEncoding("utf-8"); response.setContentType("tex

servlet response 中文乱码

先,response返回有两种,一种是字节流outputstream,一种是字符流printwrite. 申明:这里为了方便起见,所有输出都统一用UTF-8编码. 先说字节流,要输出“中国",给输出流的必须是转换为utf-8的“中国”,还要告诉浏览器,用utf8来解析数据 //这句话的意思,是让浏览器用utf8来解析返回的数据         response.setHeader("Content-type", "text/html;charset=UTF-8&qu

SpringMVC问题——response. setCharacterEncoding()无效,导致中文乱码

2016-07-11 response. setCharacterEncoding()需要在response.getWriter()或者response.getOutputStream()前调用,否则不生效. 容易出现中文乱码,而且所有乱码的格式是??? 在SpringMVC中 下面就是容易出错的地方 由于printWriter对象由SpringMVC 框架自动实例并作为参数传入,再调用Presponse. setCharacterEncoding(“UTF-8”);语句将不生效,容易出现中文乱

JavaWeb之response响应中文乱码问题

response向页面响应中文乱码问题  字节流 * 有可能乱码,与中文转换成字节数组.浏览器打开的默认字符编码有关 * 解决方式:将中文转成字节数组的时候和浏览器默认打开的时候采用的字符集一致 response.setHeader("Content-Type", "text/html;charset=utf-8"); response.getOutputStream().write("张三".getBytes("utf-8"

(转)request和response的中文乱码问题

request乱码指的是:浏览器向服务器发送的请求参数中包含中文字符, 服务器获取到的请求参数的值是乱码; response乱码指的是:服务器向浏览器发送的数据包含中文字符,浏览器中显示的是乱码; 乱码产生的原因:不管是request乱码还是response乱码,其实都是由于客户端(浏览器)跟服务器端采用的编码 格式不一致造成的. 以request乱码为例:浏览器向服务器发送请求,因为浏览器与服务器之间的通信实质上是socket流,所以要先 将请求参数(字符)转换成字节,也就是编码过程,服务器接

request和response对象如何解决中文乱码问题?

出现中文乱码的问题,一般的原因编码和和解码不一致造成的. 1 /* 2 乱码:编码和解码不一致导致的 3 GET:你好 4 POST:?????? 5 tomcat版本:8.5及以上版本 6 GET请求方式,request对象使用的字符集默认为utf-8 7 POST请求方式,request对象使用的字符集默认为ISO8859-1 8 解决: 9 设置request对象的字符集为utf-8 10 request.setCharacterEncoding("utf-8"); 11 tom