(七)jsp中文乱码六种情况

乱码是让人头疼的一件事情,您是否和我一样也遇到过这样的情况,向数据库中添加一条记录,记录是添加上了,到数据库里一看,数据凌乱了。。。顿时我也凌乱了。。。把html文件改为jsp文件,添加了一下jsp page指令重新打开同时发现所有的中文都七十二变了。。是否。。下面我们就一起看看java web中的中文乱码问题。

1、JSP页面出现的中英文乱码:

我们的PageCharset.jsp页面代码如下所示:

<%@ page language="java" import="java.util.*"%><html><head><title>中文显示示例</title></head><body>中文显示的示例。<%out.print("这里是用jsp输出的中文"); %></body></html>

当我们在保存我们的文件的时候会出现下面的提示:

整因为在我们的MyEclipse中默认的编码为ISO-8859-1,而ISO-8859-1不支持中文的编码,所以jsp页面代码如果出现中文就不能保存了。对于这样的错误,我们只要在页面上加上支持中文的编码格式就可以了,在jsp页面中加上pageEncoding=“gb2132” 支持中页面的编码格式就可以了。这样我们就能正常保存我们的jsp源文件了。

2、URL传递参数中文乱码

<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%><html><head><title>URL传递参数中英文处理示例</title></head><%String param = request.getParameter("param"); %><body><a href="URLCharset.jsp?param=’中文’">请单击这个链接</a>您提交的这个参数为:<%=param %></body></html>

启动tomcat运行结果出现url传递的中文乱码:

这里我们需要配置tomcat服务器文件,才能解决这个问题。具体方法是,在tomcat的conf目录下找到server.xml配置文件,找到如下代码

<Connector port="8080" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" />

在后面添加上编码方式,URIEncoding="gb2312" 重新启动tomcat问题就解决了。

3、表单提交中问乱码

对于表单中提交的数据,可以用request.getPraramter("");方法来获取,但是当表单中出现中文数据的时候就会出现乱码。

我们的提交表单的页面,FormCharset.jsp页面如下:

<%@ page language="java" contentType="text/html; charset=GB18030"pageEncoding="GB18030"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" ""><html><head><meta http-equiv="Content-Type" content="text/html; charset=GB18030"><title>Form中文处理示例</title></head><body>下面是表单内容:<form action="AcceptFormCharset.jsp" method="post">用户名:<input type="text" name="userName" size="10" />密 码:<input type="password" name="password" size="10"/><input type="submit" value="提交"/></form></body></html>

我们的AcceptFormCharset.jsp页面:

<%@ page language="java" contentType="text/html; charset=GB18030"pageEncoding="GB18030"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" ""><html><head><meta http-equiv="Content-Type" content="text/html; charset=GB18030"><title>Form中文处理示例</title></head><body>下面是表单提交以后request取到的表单的数据:<br><%out.println("表单输入的userName值为:" + request.getParameter("userName") +"<br>");out.println("表单输入的pasword值为:" +request.getParameter("password") + "<br>"); %></body></html>

提交表单:

结果如下:

始终调整好自己观风景的心态,

(七)jsp中文乱码六种情况

相关文章:

你感兴趣的文章:

标签云: