`
aki319
  • 浏览: 16428 次
  • 性别: Icon_minigender_2
  • 来自: 广州
社区版块
存档分类
最新评论

JSP中GET/POST传递参数中文乱码

阅读更多
问题描述:
在一个jsp页面中用get/post方式传值,后台getParameter取到参数值后存数据库;然后再在jsp页面中显示。数据库显示及jsp页面显示均出现中文乱码。

引用

ServletRequest对象的getParameter等方法以哪种字符集编码对参数进行URL编码,需记下以下三种情况:

(1)对于HTTP请求消息的请求行中的URL地址后的参数,getParameter等方法进行URL解码时所采用的字符集编码在Servlet规范中没有明确规定,它由各个Servlet引擎厂商自行决定。对于这种情况,Tomcat中的ServletRequest对象的getParameter等方法默认采用ISO8859-1字符集编码进行URL解码,因此无法返回正确的中文参数信息。

(2)对于POST方式下的”application/x-www-form-urlencoded”编码格式的实体内容,getParameter等方法以ServletRequest对象的getCharacterEncoding方法返回的字符集编码对其进行URL解码。事实上,对于IE浏览器产生的HTTP请求消息中没有通过任何方式指定对实体内容进行URL编码所采用的字符集编码,那么,Servlet引擎将无法知道请求消息中的实体内容的字符集编码,getCharacterEncoding()方法的返回值为null。对于这种情况,ServletRequest对象的getParameter等方法将使用默认的ISO8859-1字符集编码对实体内容中的参数进行URL解码,因此也将无法返回正确的中文参数信息。

(3)ServletRequest接口中定义了一个 setCharacterEncoding方法来设置请求消息中的实体内容的字符集编码名称,getParameter方法将以该方法设置的字符集编码对实体内容进行URL解码,所以,只要使用ServletRequest.setCharacterEncoding方法设置实体内容的字符集编码为其URL编码前的字符集编码,那么getParameter方法就可以从实体内容返回正确的中文参数信息。但是,应该注意一点:ServletRequest.setCharacterEncoding方法设置的是请求消息中的实体内容的字符集编码名称,它只影响getParameter方法对POST方式下的”application/x-www-form-urlencoded”编码格式的实体内容进行URL解码的结果,而不能影响getParameter方法对HTTP请求消息的请求行中的URL地址后的参数进行URL解码的结果。


解决方式:
public class EncodingConvert 
{
	/**
	 * 转换编码,统一返回utf-8的编码方式
	 * @param target
	 * @return
	 */
	public String convert2UTF8(String target)
	{
		String result = "";
		try 
		{
			result = new String(target.getBytes("ISO-8859-1"),"utf-8");
			return result;
		} 
		catch (UnsupportedEncodingException e) 
		{
			System.out.println("转换编码失败:");
			e.printStackTrace();
			return null;
		}
	}
}
分享到:
评论

相关推荐

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

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

    知识共享-jsp页面中文参数传递get和post方法分析(雷惊风).

    ### 知识点详解:JSP页面中文参数传递GET与POST方法分析 #### 一、引言 在Java Web开发中,特别是在处理JSP页面时,中文参数的正确传递是常见的需求之一。不当的处理可能导致乱码问题,严重影响用户体验和数据的...

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

    在 JSP 程序中,当我们使用 GET 或 POST 方法提交中文信息时,可能会出现乱码问题。这是因为 Tomcat 对于 GET 和 POST 方法的编码处理方式不同。对于 POST 方法,Tomcat 会使用 request.setCharacterEncoding 方法...

    JSP页面中文参数的传递(get和post方法分析).docx

    JSP 页面中文参数的传递是非常有用的,在实际的编程中,我们常常遇到需要在 JSP 页面切换中传递中文字符。有两种方式可以实现中文参数的传递,即 URL 方式和 FORM 方式。 URL 方式 在 URL 方式中,我们可以直接在 ...

    jsp传值中文乱码问题解决方法示例介绍.docx

    本篇将详细介绍如何解决JSP传值过程中出现的中文乱码问题。 首先,我们需要理解乱码产生的原因。在网页中,数据的编码和解码过程需要保持一致。如果服务器和客户端之间使用的字符编码不同,就可能出现乱码。例如,...

    Jsp页面在URL中传递参数会出现乱码问题解决

    在Web开发中,尤其是使用Java JSP技术时,我们可能会遇到URL中传递参数出现乱码的问题。这是因为不同的字符集编码方式可能导致字符在传输过程中无法正确解析。本文将详细介绍两种解决JSP页面URL参数乱码的方法,虽然...

    JSP中文乱码问题解决办法

    JSP 中文乱码问题解决办法 JSP 页面中中文乱码问题是指在 JSP 页面中使用中文时,页面显示...解决 JSP 中文乱码问题需要从多方面入手,包括设置页面的字符编码、使用 POST 方式提交表单、使用 GET 方式提交表单等。

    JSP页面中文乱码几个解决办法

    总结来说,解决JSP页面中文乱码问题的关键在于保持字符编码的一致性,从编辑器保存文件的编码、JSP页面的编码声明、Servlet的响应编码、POST请求的参数编码,到服务器处理GET请求的编码,都需要进行适配和统一。...

    JSP页面中文参数的传递(get和post方法分析)

    JSP页面中文参数传递是Web开发中非常常见且重要的知识点,尤其是在中日韩等使用非ASCII...通过上述方法的实施,可以有效解决在JSP页面中传递中文参数时遇到的乱码问题,确保Web应用的用户界面友好性和数据的准确传递。

    JSP中汉字乱码现象分析与解决.pdf

    综上所述,解决JSP中的中文乱码问题主要涉及以下几个方面:合理设置JSP文件和响应的编码方式、注意文件头部的BOM、确保客户端和服务器端之间的编码方式一致、正确处理GET和POST请求中的中文参数。通过上述措施,可以...

    jsp页面传值中文乱码问题处理.docx

    在用 Get 方式传递参数时,如果中文字符会出现乱码,可能是由于 Get 提交默认是以 ISO88591 传递,而服务器需要指示客户端文档的编码方式所致。解决方案是,Get 提交默认是以 ISO88591 传递,如果容器没有做配置修改...

    超强过滤器彻底解决JSP-SERVLET中文参数GET-POST传递的问题(转)

    总结,"超强过滤器"是解决JSP-Servlet之间中文参数GET-POST传递问题的有效手段,通过统一设定请求的字符编码,确保在整个Web应用中中文数据能够正确无误地传输和处理。对于大型项目,这样的全局解决方案可以大大提升...

    JSP中解决中文乱码的万能方法

    ### JSP中解决中文乱码的万能方法 在JSP开发过程中,中文乱码问题是一个常见的技术难题,尤其在处理客户端与服务器之间的数据交互时更为突出。本文将详细介绍几种有效的解决方案,帮助开发者应对各种场景下的乱码...

    jsp中文乱码问题jsp中文乱码问题详解

    在jsp中文乱码问题中,乱码的出现是由于编码格式不一致所导致的。在jsp文件中,存在三个地方的编码格式:jsp文件的存储格式、解码格式和控制浏览器的解码方式。如果这三个地方的编码格式不一致,将会出现乱码。 1. ...

    JAVA POST与GET数据传递时中文乱码问题解决方法

    以下是一些解决Java POST与GET数据传递时中文乱码问题的方法。 1. **POST数据传递**: 在接收POST数据的JSP页面中,我们需要确保两个关键点: - **声明页面字符集**:`<%@ page pageEncoding="UTF-8"%>` 这行...

    post和get提交乱码处理

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

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

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

    JSP利用过滤器解决request中文乱码问题.docx

    在JSP中,客户端的数据一般是通过HTTP GET/POST方式提交给服务器,在服务器端用request.getParameter()读取参数时,很简单消失中文乱码现象。这是因为HTTP协议默认使用ISO-8859-1编码,而中文字符在这个编码中无法...

    jspurl中中文参数的乱码解决.docx

    本文主要讨论的是JSP中URL中中文参数导致的乱码问题及其解决方案。 首先,让我们深入理解HTTP请求的基本原理。HTTP请求有两种主要的数据提交方式:GET和POST。在GET请求中,表单数据会被附加到URL后面作为查询参数...

    JSP中文乱码问题综述,中文乱码解决大全

    在JSP开发中,中文乱码是一个常见的问题,主要是由于编码不一致和处理不当导致的。Java语言和JSP文件基于Unicode,但保存和处理时可能会采用不同的编码,这就会引发乱码。本文将深入探讨JSP中文乱码的来源以及解决...

Global site tag (gtag.js) - Google Analytics