这两天在win98下装apache1.3.9加jserv和gnujsp1.0,jdk1.2.2,jsdk2.0 发现中文无法正常显示。要么乱码,要么出错。 经网友提醒,总结了以下几条方法。 1:修改区域设置:在控制面版中选择区域设置,设为英语(美国)?nbsp; 然后重起。一切就都正常。 2:在jsp页中加入一条语句: : <%@ page contentType="text/html;charset=gb2312" %> ? jsp显示就正常了。 3:在编译servlet和jsp时加入代码选项。编译servlet使用 : javac -encoding iso8859_1 myservlet.java : 在jsp的zone配置文件中.修改编译参数为: : compiler=builtin-javac -encoding ISO8859_1 : 使用这种方法后,不需要作其他的改动就可以正常显示中文了。 : 只是看前面网友的文章在编译servlet时都用GBK码,我试了很多 : 次都不行。而且使用ISO8859_1在原理上难以理解。烦请那位网友给讲讲。 没有啊?原理上很好理解的说,呵呵。encoding ISO8859_1的意思和第一个方法
意思是一样的,呵呵。 : 4:最土的办法,在servlet源程序中加入代码变换语句。如 : try{ : out.println(new ( (new String("我爱死你了")).getBytes("GBK"),"ISO8859_1")) : } : catch( UnsupportedEncodingException e) : { : ....... : } 使用这种方法一定要注意捕获UnsupportedEncodingException这个异常。
|