JSP中文乱码问题解决方法

来源 :中国科技博览 | 被引量 : 0次 | 上传用户:xiaoxu0911
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  [摘 要]中文乱码问题在JSP的编程过程中是经常遇到的问题,给编程人员带来了困难。该论文通过分析目前流行的各种编码的特点,分析了产生中文乱码的原因,然后根据经常遇到的页面乱码、参数乱码、表单乱码、数据库乱码几个方面提出了解决方法。
  [关键词]中文乱码 编码 JSP 参数传递
  中图分类号:P695 文献标识码:A 文章编号:1009-914X(2015)40-0341-01
  JSP作为目前比较流行的编程语言,具有许多优秀的特点,但在编程过程中经常遇到的中文乱码却带来了许多不便。其主要原因是由于编码不统一,试通过下面的内容进行分析并加以解决。
  一、常用的编码
  1、ISO8859-1
  ISO8859-1,又称Lation-1,是在ASCII的基础上,使用8比特编码,新增了一些字符。新增的字符主要用来支持部分欧洲国家所使用的语言,例如:德语、葡萄牙语和西班牙语等。即,ISO8859-1兼容ASCII。
  2、GB2312
  GB2312是1981年,开始使用国家《信息交换用汉字编码字符集-基本集》,简称GB2312。
  3、UNICODE
  1991年Unicode把世界上几十种文字整合在一个字符集中,Unicode中的每个字符都有一个唯一的数字进行表示。Unicode是由Unicode组织进行相关标准的制订与推广。
  4、UTF-8
  UTF是Unicode/UCS Transformation Format(统一字符集/统一字符编码转换格式)的缩写,UTF就是Unicode的一种字符编码方法。
  二、乱码产生的原因
  JSP在HTML网页、JSP网页之间传递中文数据时,由于HTML网页默认情况下采用ISO8859-1编码传递数据,而这种编码不支持中文,因此传递到其它网页后产生了乱码。同时,JSP网页的默认编码也是ISO8859-1,因此中文也不能正确的这类网页中显示出来,现在大部分具有国际化特征的软件核心字符处理都是以Unicode为基础的,在软件运行时根据当时的Locale/Lang/Codepage设置确定相应的本地字符编码设置,并依此处理本地字符。在处理过程中需要实现Unicode和本地字符集的相互转换,甚或以Unicode为中间的两个不同本地字符集的相互转换。这种方式在网络环境下被进一步延伸,任何网络两端的字符信息也需要根据字符集的设置转换成可接受的内容。此外,Java中的字符主要通过char、byte和String这三种类型进行表示。char表示的是一个Unicode字符,String是字符串,它是多个char类型字符的序列。字符串在网络传输或者存储前需要转换成byte类型的数组。从网络接收或从存储设备读取内容的一般是byte类型的数组。Java语言内部是用Unicode表示字符的,遵守Unicode V2.0。Java程序无论是从/往文件系统以字符流读/写文件,还是往URL连接写HTML信息,或从URL连接读取参数值,都会有字符编码的转换。这样做虽然增加了编程的复杂度,容易引起混淆,但却是符合国际化的思想的。从理论上来说,这些根据字符集设置而进行的字符转换不应该产生太多问题。而事实是由于应用程序的实际运行环境不同,Unicode 和各个本地字符集的补充、完善,以及系统或应用程序实现的不规范,转码时出现的问题时时困扰着程序员和用户。
  三、中文乱码的解决方法
  JSP中文乱码问题有如下几个方面:页面乱码、参数乱码、表单乱码、数据库乱码。下面来逐一解决其中的乱码问题。
  1、JSP页面中文乱码
  在JSP页面中,中文显示乱码有两种情况:一种是HTML中的中文乱码,另一种是在JSP中动态输出的中文乱码。产生的原因是网页的默认编码不支持中文,或者是编码与传递过来的编码不同从而造成无法正常显示中文。解决这种中文乱码问题可以采用设定HTML的page的编码。代码如下:
  <%@page language="java" import="java.util.*" contentType="text/html;charset =UTF- 8" %>?。经过这样设置后,中文就可以正确显示在网页上。
  2、表单提交中文乱码
  使用表单传递数据后,在接收方可以通过request.getParameter(“”)的方法获取数据,但由于传递的数据的默认编码不支持中文,因此无法正常显示中文。解决的方法为在接收数据前,将传递数据的编码转换成支持中文的。代码如下:
  <%request.seCharacterEncoding("UTF-8");%>。
  3、URL传递参数中文乱码
  在使用表单提交中文时,可以使用两种方法即,“GET”、“POST”。其中使用POST方法提交中文时,可以在接收方正确接收中文信息,并且正确显示。但使用GET方法或者不使用表单,还可以使用URL链接方式传递参数,这种传递参数的方法本质上也是GET方式传递参数,这种传递参数的值是中文,也会出现乱码。这个问题的解决方法是在TOMCAT的CONF文件夹中的SERVER.XML配置文件中加上URIEncoding=”utf-8”。
  4、数据库乱码
  在数据库连接中涉及中文会出现乱码,解决方法在数据库连接字符串中加入编码字符集String Url="jdbc:mysql://local host/digitgulf?user=root& password= root&useUnicode=true&characterEncoding= GB2312";
  并在页面中使用如下代码:
  response.setContentType("text/html;charset=gb2312");
  request.setCharacterEncoding("gb2312");
  数据库的显示乱码,在mysql4.1.0中,varchar类型,text类型就会出现中文乱码,对于varchar类型把它设为binary属性就可以解决中文问题,对于text类型就要用一个编码转换类来处理
  四、结语
  JSP的中文乱码问题,主要原因是HTML网页、JSP网页、数据库之间的编码不一致,中文在各种页面之间传递出现不兼容、无法正常显示等问题,因此解决这类问题的基本方法是进行各种编码转换,使之中文在各个网页之间完成正常显示。
  参考文献
  [1] 罗粮.Web程序设计中数据库路径获取编程技巧[J].电脑编程技巧与维护.2014(12).
  [2] 刘冰.Java编程中中文问题的产生及其解决方案[J].现代计算机(专业版).2010(03).
  [3] 张言辉.J2EE平台下汉字乱码问题分析及解决[J].电脑知识与技术. 2010(12).
其他文献
[摘 要]随着社会经济的发展,医院管理服务水平也在逐渐提高,对医院档案管理也提出了更高的要求。档案是一种重要的历史资料,医  院档案是医院生存与发展的重要基础,其记载了医院发展的过程,以及医院发展过程中所经历的各种重大事件。与此同时,在医院的档案中也储存了大量的科技成果,能够为科研工作的开展提供丰富的资料。本文提出了通过增强医院干部和职工的档案管理意识,建立健全各个科室与员部门的档案管理制度,加强
期刊
[摘 要]随着我国文化水平的不断提高,我国高校学生的文化素质不断提高,各重点高校在党中央的领导下为我国培育了一代又一代的优秀人才,为中国的特色社会主义事业做出了很大的贡献,随之,学生们对文化的需求也越来越高,高校需要做好学生们的后备工作,为学生们的学习和发展奠定良好的基础。图书馆是满足学生们的文化需求的重要场所,图书馆的构建质量和资源数量对学生们的学习效果有着很大的影响,调查发现,如今的建筑式图书
期刊
[摘 要]工艺美术历史源远流长,潍坊工艺美术记忆精湛,种类繁多,在博大精深的中华文明史上,地位极为重要。本文主要针对潍坊工艺美术的传承与发展进行探讨。  [关键词]潍坊传统工艺美术; 传承; 发展  中图分类号:P288.6 文献标识码:A 文章编号:1009-914X(2015)40-0318-01  1 潍坊工艺美术概述  工艺美术文化广泛地存在于人们生活之中,各种工艺和文化创造紧密联系在一起
期刊
[摘 要]随着我国经济的发展,许多高层的建筑应运而生,随之很大程度的带动了电梯行业的发展。从而与电梯相关的安全事故随之而来。总的来说,在各种导致电梯安全事故的因素当中,人为失误造成的安全事故占据了很大的比例,所以确保电梯的安全运行是保障人身安全的大事,必须严格规范电梯的安全检验。  [关键词]电梯安全、人为失误、管理建议、问题  中图分类号:TE933.207 文献标识码:A 文章编号:1009-
期刊
[摘 要]阅读本民族的文化经典,在个人,可以变化气质;对社会而言,可以转移风气、承继传统。为此,图书管理员要尽力做好采买、推荐书目,组织开展多种有意义的读书活动。发挥其社会教育职能的同时,引导读者形成“爱读书、读好书”的良好风气。  [关键词]经典阅读 图书管理员 阅读活动  中图分类号:G521 文献标识码:A 文章编号:1009-914X(2015)40-0323-01  “与书相伴的每一分钟
期刊
[摘 要]信息时代的到来,使档案信息化建设变成了可能。档案管理日益信息化与智能化,推动着档案信息数字化研究实践的深入发展。传统的档案管理模式让档案信息资源的经济价值和社会价值难以充分实现,而且已经不能满足日常的工作需要,档案信息化和数字化建设是档案事业发展的必然趋势。  [关键词]档案建设、信息时代、电子档案、远程阅档档案建设是档案的完整核心  中图分类号:G270.7 文献标识码:A 文章编号:
期刊
[摘 要]随着互联网的飞速发展,实现管理信息化和数字化已经成为油田企业追求的目标。尤其在“效率第一”的石油生产中,采油井的综合管理对于油田生产及信息化建设有着重要意义。  [关键词]采油井 综合管理 系统设计  中图分类号:F840.61 文献标识码:A 文章编号:1009-914X(2015)40-0300-01  为了方便采油井管理,本文主要研究了以下内容:  (1)根据现有工作流程、习惯,梳
期刊
[摘 要]随着我国信息化社会的加速到来和蓬勃发展,人们的生活逐渐面临着全新的发展态势,生产生活方式也出现了极大的改进与提高,翻天覆地的变化随之到来。为了迎合时代发展需求,适应时代发展需要,新时期文书档案管理工作也应与时俱进,开拓创新,提高现代化管理与服务水平。本文阐述了在信息化大背景下,文书档案管理工作的现状及其创新的意义,并基于此就如何创新文书档案管理工作提出有效措施。  [关键词]信息化背景;
期刊
[摘 要]本文致力于阐述我国中医学和当代西医医学对镇痛和镇静两相关但又不同的医学名词的解读和认识,从而从理论上揭示了镇静与镇痛在临床口腔局部麻醉医学实际操作中应用的必要性和必然性。  [关键词]中医学,西医学,麻醉,镇痛与镇静,笑气  中图分类号:R310 文献标识码:A 文章编号:1009-914X(2015)40-0332-01  1.麻醉学中西医结合的优势  我国中医学博大精深,源远流长。在
期刊
[摘 要]当前,志愿者在独立院校图书馆中起着极其重要的作用,能够更广泛地搜集读者的阅读需求和建议,为图书馆改善服务质量及时反馈信息,但是,志愿者服务过程中存在着诸多问题,本文结合所在学院图书馆的具体实际工作提出了改善措施,以期能够使志愿者服务体制更加完善。  [关键词]独立院校图书馆 志愿者 志愿者服务工作  中图分类号:G107 文献标识码:A 文章编号:1009-914X(2015)40-03
期刊