演示响应正文乱码的问题--字节流

来源:互联网 发布:慈溪行知职高黄百央 编辑:程序博客网 时间:2024/05/24 01:29
package com.zero.servlet.io;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.ServletOutputStream;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/** * 演示响应正文乱码的问题--字节流 *  * @author zero * @since 2017-10-31 * */public class ResponseEncodingTest extends HttpServlet {private static final long serialVersionUID = 1L;protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {System.out.println("URL:" + request.getRequestURI());//test1(response);test2(response);}protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doGet(request, response);}/** * 用字符流默认的码表,输出中文:视频里的演示是没有乱码的,但是我这里测试是有乱码的 * @param response * @throws IOException */private void test1(HttpServletResponse response) throws IOException {
String data = "不见了远处的青山";ServletOutputStream outputStream = response.getOutputStream();byte [] b = data.getBytes();//GBK,浏览器默认的编码也是GBKoutputStream.write(b);}/** * 用指定的码表,输出中文 * @param response * @throws IOException */private void test2(HttpServletResponse response) throws IOException {//response.setHeader("Content-Type", "text/html;charset=UTF-8");response.setContentType("text/html;charset=UTF-8");//和上面得代码一样的效果String data = "不见了远处的青山";ServletOutputStream outputStream = response.getOutputStream();byte [] b = data.getBytes("UTF-8");outputStream.write(b);}}

原创粉丝点击