/**
* 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 {
}
}