奇幻

中中文问题完全呢

Tomcat 3.23以下的版本

对于Tomcat 3.23以下版本,Java中的中文问题上已经谈了不少,一般遇到中文问题使用转换函数转换.toChinese()

public static String toChinese(String strvalue)

{

try{

if(strvalue==null)

return null;

else

{

strvalue = new String(tBytes(\"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

va

找到protected void parseParameters()方法,把

if (encoding == null)

encoding = \"ISO-\";

改为

if (encoding == null)

encoding = \"GBK\";

编译:

解开jakarta-servletapi-4的原码包,找到r文件设置到CLASSPATH

找到tomcat4.0.1的bin包将r设置到CLASSPATH.

因为编译时要使用这些api.

然后javac va生成两个class文件.

解开r jar xvf r(tomcat bin包中的)

覆盖调原来的两个class文件:

jar cvf r org

即可

重启tomcat4,一切OK!,你再也不用编写烦人的编码转换了。查看本文来源

合肥白癜风去哪治疗
四川看肝病的医院
卒中高血压有哪些症状
友情链接