`
hpjianhua
  • 浏览: 241590 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类

深入Tomcat 下Jsp乱码处理方法

阅读更多
深入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");%>
分享到:
评论

相关推荐

    jsp 乱码详解(jsp,mysql,tomcat)

    jsp 乱码详解(jsp,mysql,tomcat) 基本涵盖所有的乱码解决方法。使用的utf-8作为例子

    如何解决Tomcat下中文乱码问题?

    总结来说,解决Tomcat下的中文乱码问题,关键在于确保JSP页面的编码与服务器设置一致,并在处理表单提交时正确设置请求的字符编码。在实际开发中,推荐使用UTF-8作为统一的编码标准,因为UTF-8能够兼容各种语言,...

    Tomcat中文乱码处理方法.docx

    "Tomcat中文乱码处理方法" Tomcat中文乱码处理方法是指在使用Tomcat服务器时,遇到中文乱码问题的解决方法。中文乱码是指在网页中显示的中文字符被错误地显示为乱码,影响用户体验和网站的可读性。 第一种解决方法...

    Tomcat和jsp的乱码处理和Myeclipse光标跳动的解决

    本篇文章将详细探讨“Tomcat和jsp的乱码处理”以及“Myeclipse光标跳动的解决”这两个关键知识点。 首先,我们来解决“Tomcat和jsp的乱码处理”。在部署和运行基于Java的Web应用时,Tomcat服务器和jsp页面对中文...

    servlet与jsp中文乱码处理

    下面将详细阐述servlet和jsp中文乱码的处理方式。 1. **理解编码基础** - **Unicode**:全球统一的字符编码标准,包含了世界上几乎所有的字符。 - **UTF-8**:最常用的Unicode编码方式,它以字节为单位进行编码,...

    JSP中文乱码处理JSP中文乱码处理

    【JSP中文乱码处理详解】 在Web开发中,JSP中文乱码是一个常见的问题,主要涉及页面显示、表单提交以及数据库操作等环节。理解并掌握这些环节的编码处理至关重要,以确保数据的准确性和用户体验。 1. **JSP文件的...

    彻底解决 Tomcat 5 下文字乱码问题 - JSP日志 - ※一路风尘※

    本文将深入探讨如何解决Tomcat 5中的文字乱码问题,尤其是针对JSP日志的处理。 首先,我们要理解乱码问题的根源。乱码通常发生在数据的编码、传输和解码过程中,当不同的环节使用不一致的字符集时,就可能出现乱码...

    tomcat与servlet乱码解决办法

    本文主要围绕Tomcat服务器下JSP页面以及Servlet中的乱码问题进行深入分析,并提供相应的解决方案。 #### 二、JSP页面乱码原因及解决方法 ##### 2.1 JSP页面乱码的原因 JSP页面中的乱码通常由以下几个因素引起: 1....

    jsp页面乱码处理

    本文将根据“jsp页面乱码处理”的标题与描述,深入解析解决JSP乱码问题的策略,并结合具体代码实例,帮助开发者彻底摆脱这一难题。 #### JSP乱码的根本原因 JSP页面的乱码通常源自字符编码不一致,即不同环节使用...

    解决Tomcat中文乱码

    在Tomcat环境下运行Web应用程序时,如果页面或请求中包含了中文字符,可能会出现乱码的情况。这种乱码现象通常是由于字符编码设置不一致导致的。Tomcat默认使用的字符集是ISO-8859-1,而大多数中文网页和文件采用的...

    Tomcat中Get和Post出现乱码的解决办法

    在 Tomcat 中,Get 和 Post 方法都可能出现乱码问题,这主要是由于编码问题引起的。在本文中,我们将详细介绍 Tomcat 中 Get 和 Post 方法出现乱码的解决办法。 一、乱码问题的出现 在 JSP 程序中,当我们使用 GET...

    weblogic和tomcat 下载附件乱码问题

    本文将详细探讨WebLogic与Tomcat环境下解决下载附件乱码问题的方法。 #### 一、问题背景 在Web应用程序中,当用户点击下载链接后,浏览器会根据服务器返回的信息来判断如何处理这个下载请求。如果服务器返回的...

    jsp乱码解决方案 本方案解决了jsp常见的乱码问题

    - 对于特定场景下的乱码问题,可以通过转换字符串的编码来解决,例如示例代码中的处理方法: ```java byte[] temp; try { temp = newsclid1.getBytes("ISO-8859-1"); newsclid = new String(temp, "gb2312"); ...

    JSP乱码 N种解决方案

    本文将深入探讨“JSP乱码”的多种解决方案,并提供实用的解决策略。 1. **理解字符编码的基本概念** - 字符编码是计算机对文字进行存储和处理的标准,常见的有ASCII、GBK、UTF-8等。 - JSP页面默认使用ISO-8859-1...

    jsp乱码解决方法.txt

    ### JSP乱码问题及其解决方法 #### 一、引言 在进行Java Web开发时,经常遇到的一个问题是页面字符编码出现乱码的情况。虽然这看似是一个小问题,但如果处理不当,会对用户体验甚至整个项目的质量产生严重影响。...

    TOMCAT乱码问题

    Tomcat4和Tomcat5处理乱码的方法不同,在Tomcat5中,需要使用Filter设置字符集为GBK来解决乱码问题。 解决方法一:使用Filter设置字符集 1. 实现一个Filter,设置处理字符集为GBK。在Tomcat的webapps/servlet-...

    JSP对URL链接中的中文乱码处理方法总结.docx

    JSP 对 URL 链接中的中文乱码处理方法总结 JSP 对 URL 链接中的中文乱码处理方法总结是指在 JSP 应用程序中,如何正确地处理 URL 链接中的中文字符编码问题。这个问题的出现是由于不同浏览器和服务器的默认编码方式...

    jsp乱码的3种解决方法

    本文将详细讲解三种解决JSP乱码的方法。 ### 1. 设置页面编码 JSP页面的编码设置是解决乱码问题的基础。在JSP文件的顶部,使用`&lt;%@ page&gt;`指令设置页面编码。例如: ```jsp ;charset=UTF-8" language="java" %&gt; `...

    tomcat过滤器,处理表单提交出现乱码

    在Java Web开发中,Tomcat是一个非常常见的应用服务器,它用于部署和运行Java Servlet和JavaServer Pages(JSP)应用程序。当我们处理表单提交时,可能会遇到数据乱码的问题,尤其是在涉及非ASCII字符集(如中文、...

Global site tag (gtag.js) - Google Analytics