J2EE WEB-Tomcat5.5.9中文问题解决方案

2016-02-19 12:17 6 1 收藏

下面图老师小编跟大家分享J2EE WEB-Tomcat5.5.9中文问题解决方案,一起来学习下过程究竟如何进行吧!喜欢就赶紧收藏起来哦~

【 tulaoshi.com - 编程语言 】

1、html

无论是独立的html,还是其他程序生成的,如Servlet等,注意在最终的html的和之间必须加入meta标签,用来指定html中输入字符的编码,如:

head meta http-equiv="Content-Type" content="text/html; charset=gb2312" title测试GET && POST-Send/title /head



2、jsp和servlet

首先必须解决程序输出(如response.writeln(String s))和接受从客户端传来的数据(如request.getParameter(String sname))编码问题,我们可以利用文件过滤功能,具体需要所用的jsp/servlet容器或者服务器提供的功能设置,如在Tomcat5.5.9中可以在webapps/yourAppDirectory/WEB-INF/web.xml中设置如下:

filter filter-nameSetCharsetEncodingFilter/filter-name display-nameSetCharsetEncodingFilter/display-name descriptionSet CharsetEncoding Filter/description filter-classcom.gg.comm.web.SetCharsetEncodingFilter/filter-class init-param param-nameencoding/param-name param-valuegb2312/param-value /init-param /filter filter-mapping filter-nameSetCharsetEncodingFilter/filter-name url-pattern/*/url-pattern /filter-mapping

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

其中SetCharsetEncodingFilter Class就是用来设置request和reponse字符编码的filter类,其中设置语句如下:

request.setCharacterEncoding(targetEncoding); response.setContentType("text/html"); response.setCharacterEncoding(targetEncoding);



另外为了解决通过get(url中带有参数)方式传递参数的乱码问题,我们还需要设置一下url传递参数所需要的编码,具体在Tomcat5.5.9中可以在${Tomcat_home}confserver.xml中的和之间设置,如下:

!-- URIEncoding="GBK":Force GET method String(Chinese) can be transferd properly by http:uri note:Tomcat only support GBK specification,so not set charset gb2312 -- Connector URIEncoding="GBK" port="80" redirectPort="8443"maxSpareThreads="75" maxThreads="150" minSpareThreads="25" /Connector

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

最后为了解决jsp的乱码问题,我们还需要作如下处理,即在左右的jsp头均加上如下指令:

%@ page contentType="text/html;charset=gb2312" language="java"% 或者 %@ page pageEncoding="gb2312"%



3、JDBC和数据库

关于写入数据库和读取数据库数据的乱码问题,可以通过如下方式轻松解决:

对于JAVA程序的处理方法按我们指定的方法处理。

把数据库默认支持的编码格式改为GBK或GB2312的。

到此,一般来说对于WEB方式的应用来说,中文问题就可以解决了。当然以上方法是根据统一编码的原则解决的以及WEB方式的文件转换关系(file-class-load-execute or transfered or response or request)来做的。

来源:http://www.tulaoshi.com/n/20160219/1600465.html

延伸阅读
最近,公司开始让将SQL2000的数据库导入到Oracle中,因为系统采集的数据量太大了。可是第一次没成功,重装时只能这样解决了。 实现方法: 1、     开始->设置->控制面板->管理工具->服务停止所有Oracle服务。 2、 开始->程序->Oracle - OraHome81->Oracle Installation Products->Universal In...
标签: Web开发
我开发基于 eclipse3.2+j2ee5.0 +tomcat5.09+mysql5.0 一、表单POST的数据的中文乱码解决      这类型的数据中文可以通过filters来实时过滤。filters代码如下: package filters; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; i...
INSERT、DELETE、UPDATE 三种SQL语句是数据库技术的三大基本语句. 在通常的web开发中对它的处理可以说是无处不在. 如果简单的都用手工来构造这些SQL语句的话, 一方面给我们的开发带来很大的工作量, 另一方面系统灵活性受到很大的限制. 那么能不能基于某种规则让系统自动从页面表单中取出元素构造出SQL语句呢? 首先让我们看看一般INSERT、DELET...
标签: 电脑入门
空间发表的日志没有在QQ上更新 尝试按以下步骤解决: 确认您是否有在空间“个人档——权限管理——访问权限设置”中将“将QQ空间日志更新显示在QQ上”前面的打上勾?如果您没打勾,那么日志是不会更新显示在QQ上的。 若打上勾后仍没有更新显示,有可能是网络数据不同步引起的。建议您再上传一篇日志,然后点击空间中的“个...
标签: 电脑入门
内存做为电脑三大件配件之一,担负着数据的临时存取等任务。在使用过程中,难免会出现一些问题,如启动电脑却无法正常启动、无法进入操作系统或运行应用软件、无故经常死机等故障,这些问题的产生常会因为内存出现异常故障而导致操作失败。内存出现问题一部分是因为升级内存,由于内存种类的不匹配,往往也会遇到一些问题;另一部分是内存在使用...

经验教程

168

收藏

74
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部