`

项目中的乱码问题

    博客分类:
  • web
阅读更多
(一):get方法提交
1:客户端提交时
在提交前,url将字符串拼接后,先对url进行编码后,再传到服务器。在编码时,不用的浏览器的编码默认格式不同,一般中文的默认为gbk,将提交的信息URLEncode后,再安iso-8859-1的编格式转换成二进制随着请求头发送出去
2。服务器端(tomcat)是如何将数据获取到进行解码的。
   第一步是先把数据用iso-8859-1进行解码,tomcat获取数据的是ASCII范围内的请求头字符,其中的请求url里面带有参数数据,如果参数中有中文等特殊字符,那么目前还是URL encode后的%XY状态。通常大家都是request.getParameter("name")获取参数数据,我们在request对象或得的数据都是经过解码过的,而解码过程中程序里是无法指定,request.setCharacterEncoding("字符集")可以指定解码方式,对于get方法是无能为力的。用什么编码方式解码数据的呢,这是tomcat的事情了,默认缺省用的是iso-8859-1,这样我们就能找到为什么get请求带中文参数为什么在服务器端得到乱码了,原因是在客户端一般都是用UTF-8或GBK对数据URL encode,这里用iso-8859-1方式URL decoder显然不行,在程序里我们可以直接
new String(request.getParameter("name").getBytes("iso-8859-1"),"客户端指定的URL encode编码方式")
tomcat设置编码格式:
<Connector port="8080" protocol="HTTP/1.1" maxThreads="150" connectionTimeout="20000" redirectPort="8443" URIEncoding="utf-8"/>
(二):post方法提交
1.客户端(浏览器)在post方法里所要传送的数据也要URL encode,在form所在的html文件里如果有段<meta http-equiv="Content-Type" content="text/html; charset=字符集(GBK,utf-8等)"/>,那么post就会用此处指定的编码方式编码。
作用:1.是为了让浏览器知道用什么字符集来对网页解释 2.指定form表单的post方法提交数据的URL encode编码方式。对于get方法来说,浏览器对数据的URL encode的编码方式是有浏览器设置来决定,而post方法,开发人员可以指定。
2。如果用tomcat默认缺省设置,也没做过滤器等编码设置,那么他也是用iso-8859-1解码的,但是request.setCharacterEncoding("字符集")可以派上用场。
分享到:
评论

相关推荐

    java+jsp+mysql开发 web项目处理中文乱码问题

    在 Java+jsp+mysql 开发 web 项目中,中文乱码问题是一个常见的问题,影响着项目的正常运行。下面我们将从四个方面来解决中文乱码问题: 一、Jsp 输出中文的乱码问题 在 Jsp 页面中,如果不设置 charset,输出中文...

    解决web项目中出现的乱码问题,很方便

    在开发Web项目时,乱码问题常常困扰着开发者,它涉及到字符编码的处理,这是Web应用中的一个常见但至关重要的问题。本方案提供了一个简洁有效的解决方法,通过一个Java文件和在`web.xml`配置文件中的简单设置,可以...

    经验之谈myeclipse10导入项目中文乱码

    "经验之谈myeclipse10导入项目中文乱码"这个问题,是很多开发者在使用MyEclipse 10这款强大的集成开发环境(IDE)时可能会遇到的典型问题。MyEclipse作为Eclipse的扩展版本,对Java Web项目的开发提供了很好的支持,...

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

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

    学见的一些运行web项目时的乱码问题

    以下是一些关于Web项目中乱码问题的详细分析和解决策略。 1. **编码与解码**:乱码的根源通常在于编码和解码过程不匹配。比如,源文件使用UTF-8编码,但在读取时误设为GBK编码,就会导致乱码。确保文件、数据库、...

    解决中文乱码问题

    在Java编程中,中文乱码是一个常见的问题。为了解决这个问题,我们需要从多个方面入手。首先,我们需要将Eclipse的编码方式设置为UTF-8,以便正确地显示中文字符。其次,我们需要在浏览器中将字符设置为unicode,...

    java项目乱码问题

    java项目乱码问题的处理方法,非常详细的

    java项目jsp中乱码问题解决

    在Java项目开发中,尤其是使用JSP技术时,经常遇到的中文乱码问题是一个常见的困扰。这涉及到编码和解码的过程,以及不同平台和环境之间的兼容性问题。Java的默认编码是Unicode,而中文文件和数据库通常使用GB2312或...

    j2ee项目中中文乱码问题集锦

    ### j2ee项目中中文乱码问题集锦 在J2EE项目开发过程中,中文乱码问题是常见的技术难题之一。本文将围绕一个典型的案例来详细分析如何解决J2EE项目中的中文乱码问题,并总结出一系列实用的方法。 #### 一、问题...

    Selenium WebDriver + ReportNG中文乱码问题

    在使用 Selenium WebDriver 和 ReportNG 进行自动化测试时,如果报告中包含中文字符,可能会出现乱码的问题。这是因为 ReportNG 在生成报告时没有正确地处理中文字符的编码,导致乱码的出现。解决这个问题的关键是...

    Servlet 中文乱码问题

    在Java的Servlet开发中,中文乱码问题是一个常见的困扰,主要涉及到请求(request)和响应(response)两个方面。本文将详细解析这两个方面的乱码问题及其解决方案。 首先,我们需要了解一些基础知识。GBK编码是一种...

    myeclipse中文乱码问题

    在使用MyEclipse进行开发的过程中,用户可能会遇到中文乱码的问题。这主要表现为在MyEclipse中的中文注释、JS文件、properties文件等出现乱码现象。此类问题通常由编码设置不一致引起,例如项目的编码设置与...

    SI3.5中文乱码问题.rar

    在SI3.5版本中,用户可能会遇到中文乱码的问题,这通常是由于编码设置不正确或者与系统环境的兼容性问题导致的。在处理这个问题时,我们需要深入理解文本编码原理以及Source Insight的配置选项。 首先,文本乱码是...

    swing中文乱码问题(Linux和window)

    ### Swing中文乱码问题(Linux和Windows) #### Linux系统下的解决方案 在Linux系统下使用Swing进行GUI开发时,可能会遇到中文乱码的问题。解决这一问题通常需要对系统的编码环境进行适当的配置。以下是一个详细的...

    使用过滤器解决中文乱码问题

    在Web开发过程中,经常遇到的一个问题是中文或其它非ASCII字符的乱码问题。这种现象通常出现在浏览器接收的数据与实际编码格式不匹配时。解决此类问题的一种常见方法是使用过滤器(Filter)对请求进行预处理,以确保...

    javaweb项目中乱码的处理

    在Java Web项目的开发过程中,经常遇到的一个问题是字符乱码。这不仅影响用户体验,还可能导致数据错误。本文旨在详细介绍如何解决Java Web项目中的乱码问题,包括如何统一开发环境、应用服务器及本地浏览器的编码...

    解决qr_code中文乱码问题

    在二维码(QR Code)编码和解码过程中,中文字符可能会出现乱码问题,这通常是由于编码格式不正确或处理方式不当导致的。本教程将详细解释这个问题,并提供一个开源示例帮助你理解和解决中文乱码问题。 首先,我们...

    Java Web项目开发中的中文乱码问题与对策.pdf

    Java Web项目开发中,中文乱码问题是一个常见但棘手的困扰,主要涉及到字符编码和解码的过程。在计算机系统中,数据以二进制形式存储,中文字符需要经过编码转换为字节序列才能存储。编码是将字符转化为字节的过程,...

    中文乱码处理问题总结

    本文将重点讨论在Java环境下,特别是Web应用开发中遇到的中文乱码问题,并提出相应的解决方案。 #### 二、JSP页面中的乱码处理 1. **JSP页面本身的编码设置** - **问题描述**:JSP页面直接输出中文时可能出现...

    myeclipse导入项目后中文乱码的解决方案

    MyEclipse提供了全局编码设置的功能,可以解决项目中的中文乱码问题。要设置全局编码,需要按照以下步骤操作: 1. 打开MyEclipse,点击ToolBar--&gt;Window--&gt;Preferences--&gt;General--&gt;Workspace--&gt;Text file encoding...

Global site tag (gtag.js) - Google Analytics