疑惑:java中文问题在各种测试中的结果

测试环境:
操作系统:XP / Java JDK:1.4.2 / Tomcat 4.0
运行方式:
前台:HTML,通过AJAX技术调用Servlet,url中带中文参数;
后台:Servlet类,接收中文参数进行编码转换,再输出到前台。(为测试:后台也System.out.println()出来)

第一种:GET方式传递参数
var url = "PostServlet?title=中文get";
WEB容器默认采用ISO-8859-1编码格式接受传入的值。
1,若在Servlet中设置:response.setContentType("text/html; charset=GBK");按GBK编码发送到客户端,则不会乱码。
2,若没有上面一句,默认按ISO-8859-1编码发送到客户端,则乱码。
3,后台System.out.println()若要输出中文,则需要手工代码将ISO编码转换为GBK编码。

第二种:POST方式传递参数
var url = PostServlet";
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;"); //xmlHttp为XMLHttpRequest对象,具体声明定义略
xmlHttp.send("title=中文post");
这里就有一个问题,WEB容器是以什么编码格式接受传入的值的呢?
因为遇到问题只能先给出测试结果。
1,若在Servlet中设置:response.setContentType("text/html; charset=GBK");客户端乱码。
2,若没有上面一句,客户端不会乱码。(与GET方式刚好相反)
3,后台System.out.println()若要输出中文,则需要手工代码将ISO编码转换为UTF-8编码。

希望得到高手指点哦,先谢。。
[该贴被jdonnew于2007-01-17 13:44修改过]

如果没有记错,默认的tomcat编码是ISO-8859-1
如果不修改容器属性,一般是需要自己转码的,一般使用filter来实现。

编码的问题很是头痛的问题,而且我发现var url = "PostServlet?title=中文get";这种参数后面跟中文的时候好象有bug,真是受不了,有的错误出的都是莫名其妙,尤其是和数据库连起来的时候更是....