`
oznyang
  • 浏览: 161466 次
  • 性别: Icon_minigender_1
  • 来自: 南京
文章分类
社区版块
存档分类
最新评论

jsp乱码问题研究

阅读更多
    ie默认根据服务器传回来的contentType头进行显示(忽略mata标签),对于html这种静态文件,由于没有contentType头则根据<meta http-equiv="Content-Type" content="text/html; charset=GBK" />标签中的编码类型进行显示.

    pageEncoding指定的是jsp编译时的编码格式,必须对应于jsp文件内容的编码,否则是乱码
默认pageEncoding为:ISO-8859-1,如果不指定contentType,输出对应于pageEncoding的编码方式
也就是如果都不设置的话,默认输出ISO-8859-1,肯定是乱码(保存为unicode即可正常显示).

    response.setCharacterEncoding("GBK")
<%@ page contentType="text/html; charset=UTF-8">
这两句作用相同,设置输出的编码类型,但response.setCharacterEncoding("GBK")优先级高

    通过 get/post 方式从 ie中发送汉字,发送编码方式由Content-Type决定,request.getParameter("XX")得到的字符串是用ISO-8859-1表示的,所以必须在取值前用HttpServeletRequest.setCharacterEncoding 设置想得到的编码类型,或是在<Connector>中添加URIEncoding="GBK"属性,来获取正确的编码类型,但是,在执行setCharacterEncoding()之前,不能执行任何getParameter()。java doc上说明:This method must be called prior to reading request parameters or reading input using getReader()。而且,该指定只对POST方法有效,对GET方法无效。分析原因,应该是在执行第一个getParameter()的时候, java将会按照编码分析所有的提交内容,而后续的getParameter()不再进行分析,所以setCharacterEncoding()无效。 而对于GET方法提交表单是,提交的内容在URL中,一开始就已经按照编码分析所有的提交内容,setCharacterEncoding()自然就无效。



<% @ page contentType = " text/html; charset=UTF-8 "  pageEncoding = " UTF-8 " %>
<%
request.setCharacterEncoding(
" UTF-8 " );
response.setCharacterEncoding(
" UTF-8 " );
%>
< html >
  
< head >
    
< title > test </ title >
    
< meta  http-equiv ="Content-Type"  content ="text/html; charset=UTF-8"   />
  
</ head >
  
< body > = <% = new   String (request.getParameter( " foo " ).getBytes( " iso8859-1 " ), " UTF-8 " ) %> =
      
< form  action =""  method ="get" >
      foo = 
< input  type ="text"  name ="foo"  value ="${param[" foo"]}" >
          
< input  type ="submit" >
      
</ form >
      tomcat:
< Connector  port ="8080"  URIEncoding ="GBK"   />
  
</ body >
</ html >

分享到:
评论

相关推荐

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

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

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

    ### jsp乱码解决方案 #### 一、引言 在Web开发中,特别是使用Java Server Pages (JSP)进行开发时,字符编码问题是一个经常遇到的技术难题。如果处理不当,很容易导致网页显示乱码,影响用户体验及数据的正确性。...

    JSP乱码 N种解决方案

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

    JSP乱码解决方案

    本文将深入探讨JSP乱码的原因及其解决方案,帮助开发者有效地处理这类问题。 ### 1. JSP乱码的成因 - **字符集设置不一致**:JSP文件、HTML页面、HTTP头、Servlet输出以及数据库存储等环节的字符集设置不一致,...

    JSP中文乱码问题解决总结

    本篇文章将深入探讨JSP中文乱码问题的原因、解决策略以及预防措施。 一、乱码产生的原因 1. 字符集不一致:JSP页面、Servlet、HTML、CSS、JavaScript、数据库等环节如果使用的字符集不统一,容易导致中文字符在...

    解决jsp页面中文乱码问题

    本文将深入探讨如何解决这个问题,确保在JSP页面中正确显示中文字符。 首先,我们需要理解字符编码的基本概念。在计算机系统中,字符编码是用来表示文本的规则,如常见的ASCII、GBK和UTF-8等。在Web环境中,HTTP...

    JSP中文乱码问题解决办法

    在IT领域,尤其是在Web开发中,JSP(JavaServer Pages)中文乱码问题是一个常见的困扰。JSP是一种基于Java的动态网页技术,它允许开发者在HTML页面中嵌入Java代码,实现服务器端的动态渲染。当涉及到中文字符时,...

    如何解决MySql-JSP中文乱码问题

    在开发Web应用时,尤其是使用Java技术栈如JSP、Servlet与MySQL数据库交互时,中文乱码问题常常困扰着开发者。这个问题的出现主要是由于字符编码不一致导致的,包括数据库编码、连接编码、页面编码等多个环节。下面...

    Jsp乱码解决方案 word文档

    JSP乱码问题主要由字符编码不一致引起,通过统一和正确地设置各个环节的编码,可以有效避免这类问题。对于具体的项目,需要根据实际情况分析乱码产生的环节,并针对性地调整相关配置。提供的解决方案涵盖了常见的...

    Servlet、Jsp乱码问题(三)

    本文将深入探讨Servlet和JSP中的乱码问题及其解决方法。 首先,我们需要理解字符编码的基础知识。在计算机中,字符编码是用来表示文本的方式,常见的有ASCII、GBK、UTF-8等。不同的编码格式可能导致相同字符的二...

    jsp中文乱码的解决方案

    文档《JSP各种乱码的处理(一).doc》和《JSP各种乱码的处理(二).doc》中可能详细列举了各种JSP乱码问题的实例及解决方法,包括但不限于文件上传、读取流、数据库操作等方面,建议参考学习,以便更全面地理解并解决...

    JSP乱码问题相关的一些集锦

    本文将针对JSP乱码问题进行深入探讨,并提供一系列有效的解决方案。 #### 一、理解乱码产生的原因 在探讨解决方案之前,我们先来了解一下为什么会出现乱码。通常情况下,乱码的产生是由于编码格式不一致导致的。...

    解决JSP中文乱码问题

    本文将详细介绍如何解决JSP中的中文乱码问题,以及探讨乱码产生的原因。 首先,我们需要理解Java中文乱码问题的根源。Java语言的核心和类文件是基于Unicode编码的,这使得Java程序具有很好的跨平台兼容性。然而,当...

    JSP中文乱码问题最优解决方法

    本文将详细探讨如何有效地解决JSP页面中的中文乱码问题,并提供具体的解决方案。 #### 一、了解中文乱码的原因 中文乱码主要是因为编码不一致导致的。例如,当浏览器发送请求时使用了一种字符集(如GBK),而...

    JSP乱码解方案.doc

    本文将深入探讨JSP乱码的产生原因及其解决方案,帮助开发者准确理解和处理各种可能出现的乱码情况。 首先,JSP乱码的产生主要涉及到字符编码的转换过程。在JSP的生命周期中,主要有以下几个关键环节: 1. **JSP...

    JSP中乱码解决办法

    本篇将详细探讨如何在JSP中解决POST方式和GET方式下产生的乱码问题,确保数据正确无误地传输与展示。 ### POST方式下的乱码解决方案 #### 1. 使用`request.setCharacterEncoding()`方法 在JSP页面中,可以通过...

    jsp乱码问题

    本文将深入探讨JSP乱码问题的成因,并提供一系列实用的解决策略。 #### JSP乱码的常见原因 1. **编码不一致**:JSP页面、客户端提交数据、服务器端读取数据以及数据库之间的编码设置如果不统一,会导致乱码。例如...

    Jsp和Servlet中文乱码问题

    本文将深入探讨JSP和Servlet中文乱码问题的根源、解决方案以及预防策略。 ### JSP和Servlet中的中文乱码问题根源 中文乱码问题通常源于字符编码不一致或配置错误。在Web应用中,数据流经多个环节,包括客户端...

    有关JSP页面乱码问题的解决

    本文将深入探讨JSP页面中可能出现的乱码问题及其解决方案,并针对不同场景下的乱码现象提供具体的应对策略。 #### 1. JSP页面本身的乱码问题 JSP页面乱码通常发生在页面显示或表单提交过程中。解决这类问题的关键...

Global site tag (gtag.js) - Google Analytics