心远专栏

   :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  24 随笔 :: 0 文章 :: 9 评论 :: 0 Trackbacks
中文乱码一直是困扰我们的一个很大的问题,也是很多开发人员希望解决的问题。 本系列文章中采用的环境为Tomcat5.0 + JDK1.5 +mysql5.0。统一编码为UTF-8

本篇主要是解决jsp页面之间的post和get方法中出现的乱码问题,不涉及struts等框架。

(一)tomcat的j2ee实现对表单提交即post方式提示时处理参数采用缺省的iso-8859-1来处理
我们现在新建2个页面,在eclipse IDE中,eclipse对jsp文件的默认编码
iso-8859-1,可以通过设置调整为UTF-8。
打开window-> preferences,如下图所示:

将用红线框出来的select选择utf8的。

新建的2个页面分别为login.jsp和result.jsp;login.jsp提交一个name给result.jsp,result.jsp负责显示就行。
login.jsp的页面如下图所示(采用post提交):

result.jsp的处理代码如下:

将标记1行和标记2行都去掉的话在页面上就会出现中文乱码,标记1和标记2保留一个就可以解决这个问题。

(二)get方式的解决办法
对于form表单采用get方法提交,我们可以采用以下的转换来正常显示中文
name = new String(name.getBytes("iso8859_1"),"UTF-8");

但是如果对于http://localhost:8000/test/result.jsp?name=中文这种提交,上面的方法就没有效果了。
对于后者,我们的解决方案是:将Tomcat 5.0\conf目录下的server.xml文件中的
<!-- Define a non-SSL Coyote HTTP/1.1 Connector on the port specified
         during installation -->
    <Connector
port="8000"               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" redirectPort="8443" acceptCount="100"
               debug="0" connectionTimeout="20000"
               disableUploadTimeout="true"
    URIEncoding="UTF-8" />

后面添加了URIEncoding="UTF-8"

这样我们就解决了get方式的乱码问题。
posted on 2006-11-19 12:00 心远 阅读(139) 评论(0)  编辑  收藏 所属分类: java 软件开发

只有注册用户登录后才能发表评论。


网站导航: