servlet和jsp当中的编码设置

来源:互联网 发布:java创建一个学生类 编辑:程序博客网 时间:2024/04/30 16:28

servlet和jsp的乱码解决方案

 

1.从客户端页面传到服务器的是乱码

原因:由于tomcat的默认编码方式是ISO-8859-1.如果浏览器的编码是GBK,则到服务器通过ISO-8859-1编码,当然是乱码。

解决:request.setCharacterEncoding("utf8");.这句代码是设置tomcat的编码方式,

通常应该与客户端设置成一致。

 

2.输出到客户端页面是乱码

response.setContentType("text/html;charset=utf-8");这句代码是告诉浏览器以utf-8的编码方式来生成返回的页面。

response.setCharacterEncoding("utf-8");

设置这是输出到客户端的字符编码。

-------------

3,以上两种方式都只对post方式提交的数据起作用。如果是get方式提交,这在服务器端应该做如下设置

String string=request.getParameter("name");

String name =newString(string.getBytes("iso-8859-1"),"GBK或者utf-8");

 

4.在JSP中的page指令中

<%page pageEncoding="utf-8"contentType="text/html;charset=utf-8"%>

中,pageEncoding是指jsp页面编译成servlet时所用的编码

contentType的设置完全是相当于

response.setContentType("text/html;charset=utf-8");


原创粉丝点击