Response的学习

/**
 * Response第四个案例:中文乱码问题
 * @author FXC
 *
 */
public class RandomCodeServlet extends HttpServlet {

	protected void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		ziFuLiuRandomCode2(resp);
	}

	/**
	 * 1、当【输出流】的编码方式和【浏览器】的编码方式不同时,就会产生乱码的现象
	 * 2、解决方案:使两者的编码方式一致
	 * 	1).设置输出流的编码方式    getBytes("编码方式");
	 * 	2).设置浏览器的编码方式:resp.setHeader("Content-type","text/html;charset=编码方式");
	 * 3、getBytes()这个方法的默认编码方式是GBK,当然也可以通过方法中的参数来改变它的编码方式
	 * @param resp
	 * @throws IOException
	 */
	private void ziFuLiuRandomCode(HttpServletResponse resp) throws IOException {
		resp.setHeader("Content-type", "text/html;charset=utf-8");
		resp.getOutputStream().write("Response的第四个案例:中文乱码问题之字节流对乱码的处理方式。  ".getBytes("utf-8"));
		resp.getOutputStream().write("当【输出流】的编码方式和【浏览器】的编码方式不同时,就会产生乱码的现象。".getBytes("utf-8"));
		resp.getOutputStream().write("解决方案:使两者的编码方式一致".getBytes("utf-8"));
		resp.getOutputStream().write("getBytes()这个方法的默认编码方式是GBK,当然也可以通过方法中的参数来改变它的编码方式".getBytes("utf-8"));
	}
	
    /**
     * 1、字符流有缓存流,它的编码方式是ISO-8859-1
     * 2、解决乱码的方案:使输出流和浏览器的编码方式保持一致
     * 	1)、设置输出流的编码方式:resp.setCharacterEncoding("编码方式");
     * 	2)、设置浏览器的编码方式:resp.setHeader("Content-type","text/html;charset=编码方式");
     * @param resp
     * @throws IOException
     */
	private void ziFuLiuRandomCode2(HttpServletResponse resp) throws IOException {
		resp.setCharacterEncoding("GBK");
		resp.setHeader("Content-type", "GBK");
		resp.getWriter().write("字符流乱码问题的解决方案:1、设置输出流的编码方式,2、设置浏览器的编码方式 ");
	}

	protected void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
	}

	
}

 

你可能感兴趣的:(中文乱码,response)