`
ralphr
  • 浏览: 143224 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Java jsp/servlet GET/POST 字符集编码问题(中文乱码)

    博客分类:
  • web
阅读更多

比如以下两个jsp页面之间的传递:

a.jsp页面内容:
<%@ page language="java" import="java.util.*" pageEncoding="GB2312"%>
<form action="b.jsp">
name:<input type=text name=name>
<input type=submit>
</form>

b.jsp页面内容:
<%@ page language="java" import="java.util.*" pageEncoding="GB2312"%>
<%
String name=request.getParameter("name");
%>
<body>
<%=name%>
</body>

现象:中文乱码,比如“??????”

解决方法如下:

方法一:-----------尝试过,有效但确实不可取
1.         在b.jsp中把pageEncoding="GB2312"改为pageEncoding="ISO8859-1"
虽然这样b.jsp页面显示的内容还是乱码,但是不是那种“??????”的乱码,
而是一些特殊字符
2.         然后在浏览器中查看菜单中修改成GB2312的编码,这时乱码就显示中文了。
3.         但是这种方法是不可行的。

方法二:---------- 尝试过,有效。我的部分页面就是用该方法
1.         在b.jsp中把String name=request.getParameter("name");修改为
String name=new String(request.getParameter("name").getBytes("ISO-8859-1"),"GB2312");
2.         这时再在页面上显示,则就是中文了。
3.         但是我个人不喜欢这种方法,因为编写起来代码非常繁琐

方法三:
1.         有人说修改get/post的传值方式,但是这是有前提的,
如果只是把get方式修改成post方式,页面结果还是乱码!
2.         前提你必须配置了过滤器,若果你只是配置了过滤器,
则传值方式必须是:post方式才不是乱码,如果是get方式照样是乱码!
3.         过滤器的配置,我想大家都能有,我就不说了

方法四:
1.         有人说配置tomcat的配置文件server.xml里这句:
<Connector URIEncoding="GB2312" 
port="8080"   maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />

加上这句:URIEncoding="GB2312"

2.         虽然可以但是有前提的,若果你过滤器没有配置,
则只是配置了server.xml文件,这样只有在表单是get传值时候才可以!
当是post方式时,照样是乱码!
*这时我们就可以看出在tomcat5中的post与get传值方式是不一样的*
*有人要问有没有一种方法让传值使用get方式或post方式都好用呢,
下面就是我推荐的方法五*

方法五:
1.         其实很简单,就是同时实现方法三又实现方法四!
2.         就是先配置过滤器,又配置server.xml文件,都设置成GB2312的编码
3.         这样无论是post还是get方式的表单传值,中文都不会是乱码!

分享到:
评论

相关推荐

    JSP-Servlet中的汉字编码问题-JSP教程

    ### JSP-Servlet中的汉字编码问题详解 #### 一、引言 在Web开发中,尤其是在使用JavaServer Pages (JSP) 和 Servlet 进行页面处理时,字符编码问题是经常遇到的技术难题之一。本文将围绕“JSP-Servlet中的汉字编码...

    Servlet及jsp解决中文乱码问题

    4. **表单提交方式引起的编码问题**:不同的表单提交方式(GET与POST)对于编码的处理方式不同,如果不加以处理,也会导致乱码问题。 #### 三、解决中文乱码的具体方法 ##### 1. 数据库配置 - **MySQL数据库配置*...

    JSP-GET-POST传递的乱码问题

    然而,在处理中文参数时,尤其是通过GET和POST方法传递时,经常会出现乱码问题。这通常是由于字符编码不一致或者处理不当导致的。以下是对这一问题的详细解析: 首先,我们需要理解字符编码的基本概念。在Web中,...

    javaweb servlet(jsp)的乱码问题原理及解决

    ### javaweb servlet(jsp)的乱码问题原理及解决 #### HTTP协议的基本理解与乱码问题背景 HTTP协议作为互联网应用中最为广泛使用的通信协议之一,它定义了客户端和服务端之间的交互规则。HTTP请求主要分为GET和...

    JSP+SERVLET教程

    - **解决方案**:通过设置正确的字符集编码(如UTF-8),并在服务器、客户端和数据库之间保持一致的编码设置。 #### 八、XML及DOM4J - **XML简介**:XML(Extensible Markup Language)是一种用于标记数据的语言。 ...

    java中文乱码解决问题

    这是因为在编译 Servlet 类或者 JSP 文件时,如果没有使用 -encoding 参数指定 Java 源程序的编码格式,javac 会获取本地操作系统默认采用的字符集,以该字符集将 Java 源程序转换为 Unicode 编码保存到内存中,然后...

    JSP、SERVLET_中的汉字编码问.txt

    ### JSP与SERVLET中的汉字编码问题解析 #### 概述 在Web开发中,尤其是在使用JavaServer Pages (JSP) 和 Servlets 进行网页动态内容生成时,经常遇到的一个问题是汉字(或者更广泛地说是中文字符)的编码处理。这...

    java乱码综合解决方法(不区分get和post)

    Java中的乱码问题是一个常见的编程挑战,特别是在处理网络请求(如GET和POST)时。本文将深入探讨如何解决这些问题,并且不局限于特定的请求类型。首先,我们需要理解字符编码的基本概念,然后分析Java中可能出现...

    Java中解决POST和GET请求的中文乱码问题.doc

    以下将详细解释如何解决Java中处理POST和GET请求时的中文乱码问题。 **POST请求的处理** 1. **表单页面设置**:在HTML表单所在的页面头部,使用`&lt;meta&gt;`标签指定页面的字符集,例如`...

    JSP和Servlet中的几个编码的作用及原理

    在Web开发中,特别是使用Java Server Pages (JSP) 和 Servlet 技术时,处理字符编码问题至关重要。不当的编码设置会导致用户界面上出现乱码,影响用户体验。本文将深入探讨JSP和Servlet中的几个关键编码设置的作用及...

    web项目乱码问题 jsp乱码问题解决

    在Web开发中,尤其是涉及到Java和JSP的项目,中文乱码问题常常困扰着开发者。本文将深入探讨这个问题,提供解决方案。 首先,我们需要理解乱码的根源。乱码通常由于字符编码不一致导致,尤其是在JSP文件中,不同的...

    post和get提交乱码处理

    本文将深入探讨如何处理POST和GET提交时的乱码问题,以确保网页显示正常,避免出现中文或者其他非ASCII字符的乱码现象。 首先,我们要理解POST和GET的区别。POST请求通常用于向服务器发送大量数据或修改服务器资源...

    关于java中的编码转换问题(解决乱码问题)

    在Java编程语言中,编码和转换是至关重要的概念,特别是在处理字符集和处理不同编码格式的数据时。乱码问题通常是由于编码不一致或不当转换导致的。以下将详细阐述Java中涉及编码转换的关键知识点。 一、概念 1. ...

    java中文乱码解决之道(7)JSP页面编码过程Java开

    这篇"java中文乱码解决之道(7)JSP页面编码过程"的主题深入探讨了如何有效地解决这个问题,提供了宝贵的Java经验和技巧。这里我们将详细解析JSP页面编码过程中的关键点,以及如何避免和解决中文乱码。 首先,理解...

    Servlet中的中文乱码问题

    当客户端(浏览器)发送包含中文字符的请求(如GET参数或POST数据)到Servlet时,如果Servlet没有正确设置接收的字符编码,就会出现乱码。解决方法是在`doGet`或`doPost`方法中,使用`request.setCharacterEncoding...

    jspservlet取参数乱码问题分析

    在Java Web开发中,尤其是在处理中文参数时,经常会遇到一个常见问题——**jspservlet取参数乱码**。这一现象通常发生在当用户从客户端提交包含中文字符的表单至服务器端时,服务器端接收到的参数显示为乱码。这种...

    servlet 编码

    4. JSP页面编码:确保JSP页面的meta标签正确设置了字符集。 ```html &lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8"&gt; ``` 四、其他重要知识点 1. ServletContext:提供对整个Web应用的全局...

    jsp eclipse乱码问题

    - **POST请求**:可以通过在JSP页面或Servlet中设置请求编码来解决POST请求中的乱码问题。例如: ```java ("UTF-8"); %&gt; ``` - **GET请求**:由于GET请求的参数直接包含在URL中,因此不能通过`request.set...

    jsp和servlet请求与响应

    本文详细介绍了JSP和Servlet中关于请求与响应的关键知识点,包括JSP内置对象的作用、请求与响应对象的使用方法、中文乱码问题及其解决办法、转发与重定向的区别以及Servlet的基本创建和配置流程。希望这些内容能够...

Global site tag (gtag.js) - Google Analytics