『恩友之光』基督徒网络交流论坛

 找回密码
 立即注册
搜索
 
查章节:  
查经文:
查看: 1528|回复: 0
收起左侧

Tomcat中Java/jsp中文问题完全解决方案

[复制链接]
发表于 2003-1-10 05:50 | 显示全部楼层 |阅读模式
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!,你再也不用编写烦人的编码转换了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|恩友之光 ( 桂ICP备2023005629号-1 )

GMT+8, 2025-7-7 18:00

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表