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

jsp页面乱码解决方案及编码设置问题(转)

阅读更多

经常遇到关于JSP页面乱码的问题,在网上也查了相关的帖子,故在此做个关于JSP页面乱码处理的总结,和大家一同分享。   
首先先介绍几个关于页面编码参数设置的属性。   
  
<META http-equiv=Content-Type content="text/html; charset=gb2312">   
这句话的意思是你浏览器查看网页的编码方式为中文,类似于浏览器上查看选项的字符编码设置,如果你查看中文的页面,你设置为UTF8查看的话,就会显示为乱码或者说是问号。所以这个属性只是用来设置浏览器显示数据的字符编码。   


下面我们具体说一下这个属性   
META,网页Html语言里Head区重要标签之一   
HTTP-EQUIV类似于HTTP的头部协议,它回应给浏览器一些有用的信息,以帮助正确和精确地显示网页内容。

常用的HTTP-EQUIV类型有:   
Content-Type和Content-Language (显示字符集的设定)   
说明:设定页面使用的字符集,用以说明主页制作所使用的文字以及语言,浏览器会根据此来调用相应的字符集显示page内容。   
<Meta http-equiv="Content-Type" Content="text/html; Charset=gb2312">  
该META标签定义了HTML页面所使用的字符集为GB2132,就是国标汉字码。如果将其中的“charset=GB2312”替换成“BIG5”,则该页面所用的字符集就是繁体中文Big5码。当你浏览一些国外的站点时,IE浏览器会提示你要正确显示该页面需要下载xx语支持。这个功能就是通过读取HTML页面META标签的Content-Type属性而得知需要使用哪种字符集显示该页面的。如果系统里没有装相应的字符集,则IE就提示下载。其他的语言也对应不同的charset,比如日文的字符集是“iso-2022-jp ”,韩文的是“ks_c_5601”。Content-Type的Content还可以是:text/xml等文档类型   
Charset选项:ISO-8859-1(英文)、BIG5、UTF-8、SHIFT-Jis、Euc、Koi8-2、us-ascii, x-mac-roman, iso-8859-2, x-mac-ce, iso-2022-jp, x-sjis, x-euc-jp,euc-kr, iso-2022-kr, gb2312, gb_2312-80, x-euc-tw, x-cns11643-1,x-cns11643-2等字符集;Content-Language的Content还可以是:EN、FR等语言代码。   
Note:因为我们的浏览器一般都指定为中文字符编码查看,所以这句就不用加在你的页面当中,你加了也可以更强调也好。   
  
2。page contentType — 指定的是JSP页最终 Browser(客户端)所见到的网页内容的编码.其实用在容器中就是说把JSP页面输出为HTML页面采用的编码方式。要把这个与第一个属性有所区别。   

3。page pageEncoding — 指定JSP解码时所用的编码   
如果你的是 WIN98, 或 ME 的NOTEPAD记事本编写JSP, 就一定是常用的是Big5 或 gb2312, 如果是用 WIN2k winXP的NOTEPAD时, SAVE时就可以选择不同的编,码, 包括 ANSI(BIG5/GB2312)或 UTF-8 或 UNIONCODE(估是 UCS 16).   
因为 JSP要经过 两次的”编码”,   
第一阶段会用 pageEncoding, 第二阶段会用 utf-8 至utf-8, 第三阶段就是由TOMCAT出来的网页, 用的是contentType.   
阶段一是 JSPC的 JSP至JAVA(.java)原码的”翻译”, 它会跟据 pageEncoding 的设定读取JSP. 结果是由指定的pageEncoding(utf-8,Big5,gb2312)的JSP 翻译成统一的utf-8 JAVA原码(.java). 如果pageEncoding设定错了, 或没设定(预设ISO8859-1), 出来的 在这个阶段 就已是中文乱码.   
阶段二是由 JAVAC的JAVA原码至JAVA BYTECODE的编译. 不论JSP的编写时是用(utf-8,Big5,gb2312),经过阶段一的结果全都是utf-8的ENCODING的JAVA原码.   
JAVAC用 utf-8的ENCODING读取AVA原码, 编译成字符串是 utf-8 ENCODING的二进制码(.class). 这是 JAVA VIRTUAL MACNHINE对常数字符串在 二进制码(JAVA BYTECODE)内表达的规范.

阶段三是TOMCAT(或其的application container)加载和执行阶段二得来的JAVA二进制码, 输出的结果( 也就是BROWSER(客户端))   
见到的. 这时一早隐藏在阶段一和二的参数contentType, 就发挥了功效. (见 阶段一的 ).   
4。request.setCharacterEncoding("gb2312")指定对请求采用中文编码发送。浏览器默认的是采取UTF8编码方式发送请求,不能识别中文字符。   
5。response.setContentType(”text/html; charset=gb2312″);设置响应时发送数据的编码方式。   
  
总结了一大堆,现在来说下怎么解决JSP页面中文问题   
一般性的解决,只要在每个JSP页面开始处加入下面三行代码即可:   
  
为了让JSP编译器能正确地解码我们的含有中文字符的JSP文件   
<%@ page pageEncoding="gb2312"%>  
  
保证JSP向客户端输出时是采用中文编码方式输出   
<%@ page contentType="text/html;charset=GB2312"%>  
  
为了让JSP能正确获得传入的参数   
<%request.setCharacterEncoding("gb2312");%>  
  
对于SERVLET只要在最前面加上这句即可:   
为了让JSP响应按照正确的编码格式   
response.setContentType(”text/html; charset=gb2312″);

 

 

 

另转:

解决办法:  
第一:  
 1:在jsp页面加入:  
<%@  page  contentType="text/html;  charset=gb2312"  %>  
 2:在servlet里面:  
   public  void  doGet(HttpServletRequest  request,  HttpServletResponse  response)  throws  ServletException,  IOException  {  
       response.setContentType("text/html;  charset=gb2312");//这是重要的  
 
3:上面的如果在不行就用如下的方法在数据入库前进行调用:  
public  static  String  UnicodeToChinese(String  s){  
   try{  
         if(s==null  ¦  ¦s.equals(""))  return  "";  
         String  newstring=null;  
         newstring=new  String(s.getBytes("ISO8859_1"),"gb2312");  
         return  newstring;  
       }  
   catch(UnsupportedEncodingException  e)  
   {  
   return  s;  
   }  
   }  
 
public  static  String  ChineseToUnicode(String  s){  
   try{  
   if(s==null  ¦  ¦s.equals(""))  return  "";  
   String  newstring=null;  
   newstring=new  String(s.getBytes("gb2312"),"ISO8859_1");  
     return  newstring;  
   }  
   catch(UnsupportedEncodingException  e)  
   {  
   return  s;  
 }  
   } 

 这样可以解决JSP中的中文乱码问题. <script type="text/javascript"></script>

分享到:
评论

相关推荐

    JSP乱码 N种解决方案

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

    jsp中文乱码的解决方案

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

    JSP乱码解决方案

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

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

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

    jsp编码 jsp乱码

    jsp编码 jsp乱码解决方案 jsp编码是Java Web开发中的一项重要技术,jsp编码直接影响着Web应用程序的正常运行。jsp编码乱码问题是jsp开发中常见的问题之一,该问题可能会导致jsp页面显示乱码,影响用户体验。因此,...

    Eclipse 开发JSP中文乱码解决方案

    这样,当你新建一个JSP文件时,它的编码就会被自动设置为UTF-8,避免因为编码不一致导致的中文乱码问题。 除了上述步骤,还有一些其他注意事项: - 确保你的JSP文件头部声明了正确的字符集,例如:`;charset=UTF-8...

    解决jsp页面中文乱码问题

    在开发Web应用时,我们经常会遇到JSP页面中文乱码的问题。这主要涉及到字符编码的设置和处理。本文将深入探讨如何解决这个问题,确保在JSP页面中正确显示中文字符。 首先,我们需要理解字符编码的基本概念。在...

    页面乱码解决4种方案

    根据给定的信息,本文将详细解释四种常见的网页乱码解决方案,并着重分析其原理与实践方法。这四个场景分别是:JSP页面显示乱码、表单提交中文时出现乱码、数据库连接出现乱码以及数据库显示乱码的问题。这些解决...

    JSP页面传参出现中文乱码的解决方案

    在本文中,我们将深入探讨JSP页面传参出现中文乱码的原因,并提供有效的解决方案。 1. 乱码原因: - **编码与解码不匹配**:当JSP页面、Servlet或服务器配置的字符编码不一致时,中文字符在传输过程中可能被错误地...

    如何解决JSP页面显示乱码问题

    本文将针对JSP页面显示乱码、表单提交中文时出现乱码以及数据库连接时出现乱码这三个方面,提供详细的解决方案。 #### JSP页面显示乱码 **问题描述** 当在JSP页面中尝试显示中文时,可能会遇到乱码问题。例如,在...

    jsp页面乱码处理

    #### 解决方案一:设置JSP页面编码 首先,确保JSP页面的`contentType`和`pageEncoding`属性正确设置为统一的编码格式,通常是UTF-8,这是最常用的多语言支持编码。 ```jsp ;charset=UTF-8" %&gt; ``` #### 解决方案...

    jsp页面提交乱码问题

    通过上述分析可知,解决JSP页面提交乱码问题的关键在于确保客户端与服务器端之间字符编码的一致性。具体可以通过设置HTML页面编码、设置JSP页面处理请求的字符编码以及正确处理不同的表单提交方式等方法来实现。此外...

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

    jsp页面传值中文乱码问题处理 在 JSP 页面中传值时,中文字符可能会出现乱码问题,这...JSP 页面传值中文乱码问题可以通过修改编码方式、设置输出编码、接收参数编码、Get 提交编码和数据库连接参数编码等方式来解决。

    jsp页面乱码最简单的解决办法

    本文将详细介绍如何解决JSP页面中的乱码问题,并给出一个简单而有效的解决方案。 #### 一、理解乱码产生的原因 1. **服务器与客户端编码不一致**:这是最常见的原因之一。当用户通过浏览器发送请求到服务器时,...

    jsp乱码解决方案大全

    ### JSP乱码解决方案大全 #### 一、概述 在使用Java Server Pages(JSP)进行Web开发时,经常会遇到中文乱码的问题。这不仅影响用户体验,还可能导致数据错误。本文将详细介绍JSP中出现乱码的原因及相应的解决方法...

    Jsp乱码解决方案 word文档

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

    jsp中文乱码问题解决

    首先,我们需要了解jsp中文乱码问题产生的原因,然后再讨论解决方案。 jsp中文乱码问题产生的原因是由于jsp页面的编码方式和浏览器的编码方式不一致所致。jsp页面的编码方式默认为ISO-8859-1,而浏览器的编码方式...

    几种常用解决jsp中文乱码的方案

    解决 JSP 中文乱码的方案 JSP 中文乱码是动态网站开发中经常遇到的问题,本文将从产生 JSP 中文乱码的四种类型入手,分析乱码产生的原因,并给出消除乱码的具体方法。 一、页面中文乱码的处理 JSP 采用 ISO-8859-...

Global site tag (gtag.js) - Google Analytics