My FAQ,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > Java > 基础 > Java环境配置
Tomcat中Java/jsp中文问题完全解决方案
作者:佚名 时间:2005-07-24 19:35 出处:互连网 责编:MyFAQ
              摘要:Tomcat中Java/jsp中文问题完全解决方案

Tomcat 3.23以下的版本
对于Tomcat 3.23以下版本,Java中的中文问题网上已经谈了不少,一般遇到中文问题使用转换函数转换.toChinese()
public static String toChinese(String strvalue)
   {
         try{
             if(strvalue==null)
                return null;
             else
             {
                strvalue = new String(strvalue.getBytes("ISO8859_1"), "GBK");
                return strvalue;
         }
         }catch(Exception e){
               return null;
         }
   }

凡是涉及中文字符串,如从数据库中读取中文字符串,或变量名赋值时,使用toChinese函数:
toChinese("这是中文字符串")

注:该办法在使用javamail发送中文信息时似乎有问题

Tomcat 4.0以上的版本
在4.0以后的版本,已经不需要象3.23版本中使用字符转换函数:

(1)编译javabean时 javac 命令行加上-encoding ISO8859_1

(2)在Jsp头部中加入<%@ page contentType="text/html;charset=ISO8859_1" %>

是不是很简单? 使用本办法基本可以对付实际应用,推荐!

但也有一个缺点是,通过form表单get参数;或在url后附带中文,这个办法就失效,我相信应该有办法解决.

该办法原理就是在java的各个环节统一编码为:ISO8859_1.

修改tomcat
该办法是一位网友在论坛贴出的,我没有试验,转载于此:

只要修改一个地方就行了,文件为:
tomcat4/src/catalina/src/share/org/apache/catalina/connector/HttpReque
stBase.java
找到protected void parseParameters()方法,把
if (encoding == null)
encoding = "ISO-8859-1";
改为
if (encoding == null)
encoding = "GBK";
编译:
解开jakarta-servletapi-4的原码包,找到servlet.jar文件设置到CLASSPATH
找到tomcat4.0.1的bin包将catalina.jar设置到CLASSPATH.
因为编译时要使用这些api.
然后javac HttpRequestBase.java生成两个class文件.
解开catalina.jar jar xvf catalina.jar(tomcat bin包中的)
覆盖调原来的两个class文件:
jar cvf catalina.jar org
即可
重启tomcat4,一切OK!,你再也不用编写烦人的编码转换了。

 

注:该方法只适合Tomcat 4版本,根本java解决之道是统一编码为UTF-8

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 myfaq.com.cn All rights reserved. www.myfaq.com.cn 版权所有