相信很多同学和我一样遇到过在通过服务器响应界面界面浏览器界面出现乱码的问题吧,今天我们就来思考一下如何解决乱码问题!
乱码产生的原因:
1.Servlet程序输出给浏览器的内容,不是任何一种中文字符集编码
2.浏览器浏览网页文档是所有采用的字符集编码与它接收到的中文字符集本身的字符编码不一致。
//response对象 因为getbytes对象获取的是gb2312的数据,而浏览器采用的默认编码是gb2312,所以就不会出现乱码
//如果我们把默认编码设置成为UTF-8,那么我们会发现,浏览器又出现了编码问题,这就是第二种产生原因所导致的,下面有两种方式解决:/*第一种*/response.setHeader("Content-Type", "text/html;charset=utf-8");response.getOutputStream().write("贤贤学java".getBytes());
/*第二种*/response.getOutputStream().write("<meta http-equiv=\"content-type\" content=\"text/html; charset=UTF-8\">".getBytes());
response.getOutputStream().write("中国".getBytes("UTF-8")); /*OutPutStream流在浏览器上输出数字*/ response.getOutputStream().write((98+"").getBytes());