Servlet中文乱码问题

       当在Sevret中嵌入html是使用中文是,运行程序会发现浏览器显示的中文乱码了,此时在Sevret中应该制定参数的编码集,因为不指定参数的编码集时会默认为iso-8859-1进行编码,所以会出现浏览器乱码问题。

      在servlet中通过response方法指定所写的html代码以utf-8进行编码,同时也告知浏览器以utf-8进行解码:

response.setContentType("text/html;chartset = UTF-8");


        当浏览器中输入中文时,Servlet接收到的中文如果不指定编码集时也会乱码,所以需要接收数据的servlet也要指定编码集:

 request.setCharacterEncoding("UTF-8");


通常为了简便,直接在Servlet中将两条代码均写:(但是此种方法仅适用于post方式提交的情况)

response.setContentType("text/html;chartset = UTF-8");

request.setCharacterEncoding("UTF-8");

如果使用get方式提交上述的方法对中文解码无效!

接收到的中文数据要用String的方法进行解码;

String checkName = request.getParameter("checkName");

checkName = new String(checkName.getBytes("iso-8859-1"), "utf-8"); 


Servlet中文乱码问题_第1张图片

你可能感兴趣的:(Servlet中文乱码问题)