Java默认的字符串编码是Unicode,你的jsp设置只是告诉浏览器你用了什么编码。那么,你告诉浏览器是gb2312,但实际却是unicode,所以就错了。你如果告诉浏览器是unicode,浏览器收到的响应也确实是unicode,但是又不能显示中文。怎么改呢?page设置还是要用gb2312,只是你要输出中文的字符串时,应该自己转换一下编码:String test = "中文";
String result = new String(test.getBytes(), "gb2312");向response输出时应该用 result

解决方案 »

  1.   

    但为什么我设置为gb2312之后,虽然浏览器显示乱码,但我用鼠标右键改编码为UTF-8,中文马上能正确显示呢?真的弄不明白,而且,这个问题只在Tomcat5.5.x出现,在Tomcat5.0.x并没有这个问题啊。
      

  2.   

    那应该看看你jsp里面用什么表示字符串了
      

  3.   

    Tomcat5.5还有这种问题?楼主你用的JDK是5.0的吗?
    好像Tomcat5.5必须跟JDK5.0配合使用.