JSP乱码探讨

04-04-27 Silenter
乱码这种问题,困扰小弟很久了。也在网上查了一些文档,但想发个帖子理出个头绪,只其然,请各位大侠赐教。

环境:

OS:winxp pro en,区域,字符集都设成PRC。

JDK:1.4.2_04(默认安装)

AP:TOMCAT 5.0.19(默认安装)

Editor:Eclipse3.0M8+MyEclipse2.7.2(默认编辑字符集为UTF-8)

Browser:IE6.0

1.我们知道,一个file在编辑的时候就要指定一个字符集,我指定UTF-8

2.我在说写的JSP页面里面加了<%@ page language="java" import="java.lang.*,java.util.*,java.io.*" contentType="text/html;charset=UTF-8"%> (后面有提问)

3.同时也加了<meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> (后面有提问)

4.在通过一个简单的html文件,获得一个parameter,且其value是一个中文字符时,

在接受这个参数的jsp页面,使用了request.setCharacterEncoding("UTF-8");同时也使用了1,2两项的设定。

结果:如果使用<form action="xyz.jsp" method="get">返回是乱码,

使用<form action="xyz.jsp" method="post">返回正常。

问题:

系统端:JDK在安装后,是不是根据local来设定字符集的,如果这样PRC的字符应该是GBK之类,那么xyz.jsp用UTF-8编辑的,此时JDK会是用什么字符集来读取或编译jsp

AP端:这似乎和系统端有重叠,想问的是,Tomcat5.0是用什么字符集来Encoding这些jsp,html,在收到Client发出的request的时候,用什么字符集来decoding这些parameter。Tomcat5.0是不是有默认的encode&decode字符集,是什么??在哪里可以更改??

Client端:如果是IE6.0,在method是get或post的时候,分别使用什么字符集来Encoding。

最后:有哪位能给一个UTF-8字符集的,按上面环境的解决方式。

猜你喜欢