这是我在与Servlet进行数据交互时遇上的,response.getWriter().write("")写中文就会乱码,去网上查询解决方法,是在开头加上这两句:
response.setCharacterEncoding("utf-8"); //设置 HttpServletResponse使用utf-8编码 response.setHeader("Content-Type", "text/html;charset=utf-8"); //设置响应头的编码
这里设置相应头是为了通知客户端或浏览器使用的编码方式。但我加上这两句后还是不行,最后发现是eclipse在创建servlet时会在开头有一句
response.getWriter().append("Served at: ").append(request.getContextPath());
我一直把这句话忽略了,那两句语句必须添加response.getWriter()调用之前,而我添加在了它的后面,在所以添加了那两条语句也不管用,之后把那两句语句加到它之前,问题就解决了。