浏览 3043 次
锁定老帖子 主题:JSP中乱码的解决
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2008-04-07
<%@ page language="java" contentType="text/html; charset=gb2312" pageEncoding="gb2312"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>Insert title here</title> </head> <body> <form action="SayHelloServlet"> <input name="userPwd" id="userPwd" size="14" tabindex="2"> <input type=submit > </form> </body> </html> import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet implementation class for Servlet: SayHelloServlet * */ public class SayHelloServlet extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet { static final long serialVersionUID = 1L; /* * (non-Java-doc) * * @see javax.servlet.http.HttpServlet#HttpServlet() */ public SayHelloServlet() { super(); } /* * (non-Java-doc) * * @see javax.servlet.http.HttpServlet#doGet(HttpServletRequest request, * HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub String str = (String) request.getParameter("userPwd"); String str_new= new String(str.getBytes("ISO-8859-1"),"GB2312"); System.out.println("转换前: "+str); System.out.println("转换后: "+str_new); } /* * (non-Java-doc) * * @see javax.servlet.http.HttpServlet#doPost(HttpServletRequest request, * HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub } } 在tomcat的内部,都是以iso8859-1来编码的,这样在servlet里取出来再用utf8来解码,就会产生乱码,可以手动的用new string(getbytes)来解码,或者直接的在setEncoding里设置也可以。 权宜之计~ 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-04-07
tomcat在处理get方法参数时,采用ISO-8859-1字符集,不过,你可以改server.xml里面的设置。
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8"/>如果你用post提交,应该一切正常。
|
|
返回顶楼 | |
发表时间:2008-04-07
全盘使用UTF-8,应该没有这类问题的
|
|
返回顶楼 | |
发表时间:2008-04-07
ok~thx~以前不知道还能在server.xml里改
|
|
返回顶楼 | |
发表时间:2008-04-07
网上太多这个东西了,随便找找都可以的:)
知道其中的原理之后,可能才会更了解. |
|
返回顶楼 | |
发表时间:2008-04-07
使用utf-8就没问题了啦。
|
|
返回顶楼 | |