第1个回答 2013-01-10
不知道你在编译的时候,是以什么编码编译的。
比如你编译的时候,是 ISO-8859-1
那么你的工程中所有的汉字都是以这个编码处理的,在这种字符集下显示自然不是问题。
就是和你在浏览器中用A字符集看一个页面没有问题,换一个编码,就是乱码了一样的。
解决办法,
1.保持页面字符集与request.中的字符集一致,最好用过滤器。
2.使用properties文件来定义画面是显示项目。这个参考一下struts。
这个问题与浏览器的版本什么的关系不大。
第2个回答 2013-01-09
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
你的jsp页面有没有这句声明编码方式?
你是提交到别的jsp页面出现乱码还是打开jsp就出乱码?如果是前者,提交前使用
request.setCharacterEncoding("gb2312");
当然能用过滤器设置更好。
第3个回答 2013-01-09
把所有的都设置成UTF-8,jsp页面前加一句
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
然后servlet里面也要设置在get post 方法前加两句
request.setCharacterEncoding("utf-8");
response.setContentType("text/html,charset=utf-8");
浏览器都不用改的,到后面直接这些都用不着了,直接用过滤器就OK了,
第4个回答 2013-01-09
浏览器解释你的网页所用的默认编码,取决于你在meta标签中标识出来的编码
追问我没有写meta标签呢?
追答他可能会用浏览器默认编码,或者可能能解释页面的代码,但肯定在不同浏览器下会出现问题。所以还是写上的好
最好是方式还是,要么写meta标签指定字符集,要么在<%@page里面指定字符集