sessiontest1.html页面有一个form表单,常用的表单提交方式有get()请求和post()请求方式。下面来看一下jsp中两种请求方式的中文乱码问题的解决办法。(我所有页面的编码都设置成了gb2312)
(1)get()请求方式的中文乱码问题页面
sessiontest.html页面的表单提交方式为get()。
sessiontest.jsp页面用来接收sessiontest.html页面表单中提交过来的数据并将其显示在 页面中。
开启Tomcat服务器,在浏览器中 运行(URL中会出现参数),出现了中文乱码。
sessiontest1.html运行界面
sessiontest2.jsp运行界面
解决get()请求中的中文乱码问题:
String username=new String(str.getBytes("ISO-8859-1"),"gb2312");
再运行后,发现get()请求中的中文乱码问题以及解决。
(2)post()请求方式的中文乱码问题页面
sessiontest.html页面的表单提交方式为post()。
sessiontest.jsp页面用来接收sessiontest.html页面表单中提交过来的数据并将其显示在 页面中。
sessiontest1.jsp运行界面同上面一致
sessiontest2.jsp运行界面
解决post()请求中的中文乱码问题:
在使用request来获取post()请求中的参数时,先设置编码。
request.getParameter("username");
再运行后,发现post()请求中的中文乱码问题以及解决。
总结:
(1)解决get()请求中的中文乱码问题:
在使用request来获取get()请求中的参数后,把参数的编码转化成也买你所设置的编码(我的是gb2312)。
new String(str.getBytes("ISO-8859-1"),"gb2312");
(2)解决post()请求中的中文乱码问题:
在使用request来获取post()请求中的参数时,先设置编码。
request.getParameter("XXX");