`
- 浏览:
235498 次
- 性别:
- 来自:
广州
-
深入Tomcat 下Jsp乱码处理方法
我们经常在开发Jsp页面的时候,经常会遇到从页面提交到另一个页面的中文,提交后打印出来的竟然是乱码?这问题对新手初学Jsp网站编程来说的确是一大难题,有的人会因此在这困住了好几天,下面我结合自己的经验为大家整理下我自己在开发
Jsp页面的时候是如何处理这些乱码的方式.希望能对大家有一些帮助.
1.处理一个简单的HTML文件中出现乱码的方法:
如果Html页面中本身就有中文,而单击文件运行,却发现中文不能正常显示,那么如何解决这一问题呢?
其实问题的解决蛮简单的,如果知道它的原理的话.下面是处理的方法:
看一个简单的HTML文件:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<body>
处理HTML文件中出现的乱码
</body>
</html>
在上面的这个HTML文件中,注意<meta http-equiv="Content-Type" content="text/html; charset=utf8" />这行代码,里面包括了这HTML文件的编码方式:charset=utf8" 代表这个HTML文件的编码方式是UTF8.UTF8是全球的统一编码方式.而在这里我们是要处理中文乱码问题,应改成中文的编码方式(其中中文的编码方式,我们最常用的就是GBK与GBK2312)在这里我们改成GB2312.即改成charset=gb2312
然后运行文件,是不是发现乱码不见了呢.下面我们再看另一个乱码的出现方式
2. 在Servlet容器中出现乱码方(文件中就包括了中文)这种应如何处理呢?
下面我给出大家经常处理的方法:
我们新建一个Servlet文件,如下:
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ServletTest extends HttpServlet {
public ServletTest() {
super();
}
public void destroy() {
super.destroy();
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out
.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println(" <BODY>");
out.print(" 处理中文乱码Servlet");
out.print(this.getClass());
out.println(", using the GET method");
out.println(" </BODY>");
out.println("</HTML>");
out.flush();
out.close();
}
public void init() throws ServletException {
// Put your code here
}
}
运行上面的文件,依然出乱码问题了!怎么办呢?别急..下面看我的处理方法:
解决办法:response.setContentType("text/html;charset=gbk"); 注意:一定要写在PrintWriter out = resp.getWriter();之前
3.在Jsp文件中出现中文乱码的方式:
先看Jsp的开头的几行主要代码:
<%@ page language="java" contentType="text/html; charset=utf8"
pageEncoding="utf8"%>
其实这种出现乱码的方式与先前的HTML出现乱码的方式,处理方法相类似:
将上面的代码改成下面的就OK了.
<%@ page language="java" contentType="text/html; charset=GB18030"
pageEncoding="GB18030"%>
这里我用了中文的另一种编码方式GB18030.
4.在Form表单中以Get方式提交出现乱码的问题,这种应如何处理呢.这种处理的方法有点复杂,得去修改项目下的server.xml配置文件.
因为文章长度的原因,下面的我就不将例子的代码贴出来了.直接写解决方法了:
解决办法:修改server.xml ?URIEncoding="GBK"
5.在Form表单中以post方式提交出现乱码的问题的解决方法:
解决方法如下:
在Jsp页面中加上下面的一行代码:
<%
request.setCharacterEncoding("GBK");
%>
注意:一定要写在存取第一个参数之前,不要调用response.setCharacterEncoding("GBK");
6.以标签的方式出现乱码的问题:场合:<jsp:param name="user" value="<%=s%>"/>,url地址包含中文参数
处理方法:如同上面的方法,在页面中加入以下的代码:
<%request.setCharacterEncoding("GBK");%>
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
Tomcat环境下JSP中文乱码问题的解决
jsp 乱码详解(jsp,mysql,tomcat) 基本涵盖所有的乱码解决方法。使用的utf-8作为例子
现在将常见的乱码问题分为JSP页面显示中文乱码、表单提交乱码两类。 1)JSP页面中显示中文乱码 在JSP文件中使用page命令指定响应结果的MIME类型,如;charset=gb2312" %>
weblogic和tomcat 下载附件乱码问题 weblogic和tomcat 下载附件乱码问题
Struts Hibernate MyEclipse Tomcat MySQL JSP 乱码 编码出错 内码设定
解决常见的jsp的乱码方法和Tomcat的中文问题 解决Myeclipse的光标跳动的小BUG
彻底解决 Tomcat 5 下文字乱码问题 - JSP日志 - ※一路风尘※
主要是认真分析了jsp乱码产生原因及解决方案
tomcat ,tomcat ,tomcat ,tomcat ,tomcat ,tomcat ,tomcat ,tomcat ,tomcat ,对JSP开发中容易出现的一些错误的总结,有出现错误的截图以及解决方法,包括了jsp页面的一些常见错误,控制台出现的错误,中文乱码处理、...
解决jsp页面乱码,页面信息配置,tomcat配置以及各种信息配置
配置Filter过滤器处理JSP中文乱码 参考Tomcat服务器目录webapps的examples示例 简单配置步骤: 1.在项目web.xml文件添加过滤器标记和; 2.实现过滤器代码; 3.对Tomcat服务器conf目录里的Server.xml文件配置...
jsp网页制作与开发,TOMCAT乱码问题
通过简单的办法解决Tomcat中出现的乱码,本文章使用于jsp servlet初学者
Jspxcms是基于Java、JSP技术开发的国产开源CMS,是制作、维护网站的利器。国内CMS主要以PHP技术为主,基于Java、Jsp的CMS数量不多,功能和易用性也有一定差距。Jspxcms致力于做最好的Java CMS,依托Java的开源精神和...
本文档详细地介绍了如何解决MySql数据库中的中文乱码问题,此问题的解决将极大地帮助基于MySql的PHP编程、JSP编程、Servlet编程及C#或.Net编程!测试过的开发平台包括 Netbeans和Eclipse。测试过的服务器包括Apache、...
主要针对java+mysql开发环境提出的乱码解决方案,只要作相应修改,可以用于不同语言环境的乱码问题解决。
主要内容包括web应用程序运行原理、主流集成开发工具(eclipse/myeclipse)和运行环境(tomcat)的配置和使用、servlet、jsp、jdbc、jsp表达式语言(el)、servlet监听器和过滤器、定制标记库、jstl、mvc模式、dao...
utf8解决JSP中文乱码问题 Tomcat 5.5中文乱码 JDBC ODBC Bridge的Bug及其解决方法 Solaris下Servlet编程的中文问题及解决办法
对于不同的问题,不同的JDK版本,不同的应用服务器(如Tomcat,Jboss,Weblogic),处理方法都会有一些微小的差异。在这里,主要针对Tomcat中JSP开发容易出现的中文乱码问题进行讨论,一般有以下几种情况:
使用JSP传递中文时,常会出现乱码,有时所有的页面虽然都统计一编码方式,仍不能解决。如iframe,需要修改tomcat的编码方式