b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

jsp乱码如何解决,几种解决方案.doc

电脑杂谈  发布时间:2019-08-01 06:08:57  来源:网络整理

jsp页面乱码_jsp分页乱码_jsp页面乱码

jsp乱码如何解决,几种解决方案 篇一:几种常用解决jsp中文乱码的方案基于范例分析的JSP 中文乱码解决方案 JSP 是目前流行的一种动态网站的开发技术,它强大的跨平台的动态网页设计能力受到我国众多程序开发人员的青睐。然而在基于JSP 技术的动态网站开发过程中,由于操作系统、浏览器及所使用的编码方式各异,对中文的支持也不尽相同,如果处理不当,便会出现中文乱码,使开发人员不知所措。JSP 中出现的中文乱码主要可以归结为四种类型:页面乱码、表单传递过程中出现的乱码、读出现乱码和写出现乱码。本文针对这四种类型,设计了尽可能简单又不失一般性的范例,进而分析乱码产生的原因,给出消除乱码的具体方法。 本文的测试环境为:Apache Tomcat 5.5、mysql-4.0.25-win、Navicat 8 for MySQL。如果使用更高版本的mysql,则在安装过程中, 要将字符集Character Set 设为:gb2312(或gbk),并在Navicat 8 for MySQL 中作应用的设置。 1 JSP 页面中文显示出现乱码的处理 【范例设计】hello.jsp,网页的全部代码于下: <html <head<title我的第一个JSP 网页</title</head <body <% out.print(你好,JSP! );% </body</html 该网页代码的本意是设计一个标题为“我的第一个JSP 网页”、显示内容为“你好, JSP! ”的JSP 网页。

但除了英文能正常显示外,所有的中文都成了乱码,如图1所示。 【问题分析】JSP 采用ISO-8859-1 作为默认的页面字符编码,这是一种定长单字节字符集,适用于拉丁语,又称Latin-1,不能识别中文。 【解决办法】在网页代码中,加载页面指令 <%@ page contentType=text/html; charset=gb2312 language=java % 这就规定了jsp 按其后指定的中文字符集gb2312 编码输出到页面(gb2312 改为GBK 也可以,前者是后者的一个子集,在本文的讨论中,可以不加区别地通用)。 【测试结果】添加了上述页面指令后,再刷新网页hello.jsp,网页标题及内容都正确地显示了相应的中文信息。 说明:如果用Dreamweaver 8 来编写JSP 网页,上述类似的页面指令会默认加载。可以避免出现这种乱码。 2 表单传递过程中乱码的处理 【范例设计】reply.jsp <%@ page contentType=text/html; charset=gb2312 language=java % <html <head<title表单传送数据</title</head <body <form id=form1 name=form1 method=post action= 请输入用户名: <input type=text name=textfield / <input type=submit name=Submit value=提交 / </form <p <% String name=request.getParameter(textfield); out.print(您的用户名是: +name); % </p </body </html 本例含一个由文本框和一个提交按钮组成的表单, 用户在文本框输入信息并 按下提交按钮向服务器提交信息后,服务器立刻将该用户信息返回。

、对于中文用户来说,安装结束后,首先要设置的是,把mysql的默认编码改为utf-8,这样可以排除很多中文乱码问题:在wamp5菜单中选择打开my(wamp).ini,设置其中的default-character-set=utf8, 然后重启wamp5。但错误还是错误, 有一个办法, 就是在文档头部加上utf-8标记字节0xef 0xbb 0xbf, 这样记事本就能正确判断文档编码, 正确地以utf-8打开, 正确地把中文显示为乱码.。比如说如果默认编码是“简 体中文euc”,如果我们不指定编码发邮件的话mail除了把gb2312编码的内容放到邮件里面以外,还会在源代码后面自动加上utf-8的编码,这才是引起电子邮件乱码的原因。

jsp页面乱码_jsp页面乱码_jsp分页乱码

此法虽比方法一稍微麻烦一点,但它对网站中所有网页中的request.getParameter()语句有效,可以说是“一劳永逸”。 【测试结果】按方法一或方法二处理后,再在reply.jsp 的表单中输入中文信息,则在下行回显相同的中文信息。这说明表单已经 能够正确地传递中文信息了。 3 读MySQL 中文信息出现乱码的处理 【范例设计】 1)创建sqltest 及表names,表names 只有两个字段(IP 为主键,自动递 增),两条记录(其中一条存放有中文字符)。如表1 所示。 2)建立一个JSP 动态网页show.jsp,按常规方式将表name 在该网页中以动态 表格的形式显示出来,结果是英文信息“zhan san”显示正确,而中文信息“李四”成 了乱码,如图3。 【问题分析】的JDBC 驱动程序,默认的在Java 程序和之间传递 数据都是以ISO-8859-1 为默认编码格式的,即使原本就是用中文编码(如 GBK)格式保存数据的,JDBC 也会自作主张地将其转换为ISO-8859-1 编码格式, 从而导致乱码。 【解决办法】连接时,在url 后面加上“?useUnicode=true&characterEncoding= GBK” 在本例中,原url 为:jdbc:mysql://localhost:3306/sqltest。

修改后,成为:jdbc:mysql://localhost:3306/sqltest?useUnicode=true&characterEncoding= GBK 【测试结果】从浏览器端再次访问(或刷新)show.jsp,可见中文信息得到正确显示。 4 写MySQL 时中文信息出现乱码的处理 【范例设计】 在Dreamweaver 中建立一个网页insert.jsp, 它含一个由文本框和一个提交按钮组成 的表单,通过加入服务器行为———插入记录,使它具有向上述数据表names插入记录, 并转向能正确显示含中文记录show.jsp 的功能。这样我们就可以通过insert.jsp 插入 记录,并由show.jsp 显示结果了。不幸的是当插入中文后,显示的结果却是乱码。如 图4、图5 所示,输入“张三”后,显示的却是????。(也可以直接从中证实, 保存到表name 中的确实是乱码。) 【问题分析】如前所述,的JDBC 驱动程序在Java 程序和之间传递数据都 是以ISO8859-1 为默认编码格式的,程序在向内存储包含中文的数据前,JDBC 首 先是把程序内部的Unicode 编码格式的数据转化为ISO8859-1 的格式,然后传递到数据 库中,从而导致写入 的中文信息变成了乱码。

【解决办法】赶在ISO-8859-1 的格式编码数据写入之前,将这些数据换成中文 编码格式。 具体操作是:查找注释“// finish the sql and execute it”,将其下第三句(也就是执行写操作的前一句): PreparedStatement MM_editStatement = MM_connection.prepareStatement(MM_editQuery.toString()); 改为两句: String newstr=new String(MM_editQuery.toString().getBytes(8859_1),GBK); PreparedStatement MM_editStatement = MM_connection.prepareStatement(newstr); 【测试结果】再通过网页insert.jsp 插入一条中文记录,show.jsp 则正确地将该记录显示出来jsp页面乱码,此结果表明insert.jsp 确实将中文信息正确写入到。 说明:笔者发现,当用Dreamweaver 来编辑JSP 动态网页时,凡是涉及写操作,要改的都是本例所指的那句,因此本例具有一般通用意义。

jsp页面乱码_jsp页面乱码_jsp分页乱码

4 结束语 在基于JSP 技术的动态网站开发过程中,不可避免地要字符的编码问题打交道。为了消除出现的乱码,可以有目的地在输入/输出环节中增加必要的转码。其次,由于各种服务器有不同的处理方式,还需要多做试验,确保使用中不出现乱码。 注: 本文作者:刘步星,周赛(长沙电力职业技术学院,湖南长沙410131) 参考文献: [1] 陈小瀚.中文编码原理及其乱码问题的探讨[J].科技信息:科学教研,2007(24). [2] 李国禄.JSP 中文乱码问题分析及处理方法[J].甘肃联合大学学报:自然科学版,2007(6). [3] 伍德雁.Tomcat 应用系统乱码问题研究[J].电脑知识与技术,2008(22). [4] 蒋军强.MySQL 中乱码成因及解决办法探究[J].科技信息:科学教研,2009(33).篇二:JSP中文乱码的产生原因及解决方案 JSP中文乱码的产生原因及解决方案 在JSP的开发过程中,经常出现中文乱码的问题,可能一直困扰着大家,现在把JSP开发中遇到的中文乱码的问题及解决办法写出来供大家参考。首先需要了解一下Java中文问题的由来: Java的内核和class文件是基于unicode的jsp页面乱码,这使Java程序具有良好的跨平台性,但也带来了一些中文乱码问题的麻烦。

原因主要有两方面,Java和JSP文件本身编译时产生的乱码问题和Java程序于其他媒介交互产生的乱码问题。首先Java(包括JSP)源文件中很可能包含有中文,而Java和JSP源文件的保存方式是基于字节流的,如果Java和JSP编译成class文件过程中,使用的编码方式与源文件的编码不一致,就会出现乱码。基于这种乱码,建议在Java文件中尽量不要写中文(注释部分不参与编译,写中文没关系),如果必须写的话,尽量手动带参数-ecoding GBK或-ecoding gb2312或-ecoding UTF-8编译;对于JSP,在文件头加上<%@ page contentType=text/html;charset=GBK%或 <%@ page contentType=text/html;charset=gb2312%基本上就能解决这类乱码问题。 下面是一些常见中文乱码问题的解决方法(下面例子中ecoding采用的是gb2312,也可设为ecoding GBK或ecoding UTF-8): 一、 JSP页面乱码 这种乱码问题比较简单,一般是页面编码不一致导致的乱码,一般新手容易出现这样的问题,具体分以下两种情况: ? 未指定使用字符集编码 下面的显示页面(display.jsp)就出现乱码: <html <head<titleJSP的中文处理</title <meta http-equiv=Content-Type content=text/html charset=gb2312 </head <body <%out.print(JSP的中文处理);% </body这种乱码的原因是没有在页面里指定使用的字符集编码,JSP页面中出现了中文字符,而默认的ISO-8859-1字符集中无中文字符,解决方法:只要在页面开始地方用下面代码指定字符集编码即可,在JSP页面中指定编码方式(gb2312),和浏览器解码方式设置相同,即在页面的第一行加上: <%@ page contentType=text/html; charset=gb2312%,就可以消除乱码了。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-117383-1.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 邢振泽
      邢振泽

      我们为了我们岛礁人员和财产的安全是不是应该扩大南沙岛礁建设的规模及思路

    热点图片
    拼命载入中...