为什么java类和servlet中各调用同一个方法得到的返回值的编码会不同?前者返回正常,后者乱码,怎么解决

我有在web.xml中加有全局的filter控制为utf-8编码,而且确保为正确的,在debug的时候,servlet调用方法后得到的就是乱码,下面就是我的那个方法!pu... 我有在web.xml中加有全局的filter控制为utf-8编码,而且确保为正确的,在debug的时候,servlet调用方法后得到的就是乱码,下面就是我的那个方法!
public String getJsContent(String rootPath,String ver) {
String str = "";
File file = new File(rootPath+File.separatorChar+"js_home"+File.separatorChar+ver+".js");
BufferedReader br =null;
try {
br = new BufferedReader(new FileReader(file));
String line;
while((line = br.readLine())!=null){
str +=line;
}

} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
if(br!=null){
try {
br.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
return str;
}
展开
 我来答
乌微月2S
2010-12-07 · TA获得超过5037个赞
知道大有可为答主
回答量:5361
采纳率:42%
帮助的人:2905万
展开全部
你发现在servlet中是乱码,还是传到页面之后是乱码。
如果在servlet中是乱码,这个就不好解决了吧,理论上不会,不知道你的java文件的编码是什么。
如果是utf8.就不大清楚了。你试着对读出的str进行转码(转哪种代码,看你的经验了)。
传到页面之后乱码就自己解决吧。有的是。
Big嘴
2010-12-07 · TA获得超过4097个赞
知道小有建树答主
回答量:697
采纳率:50%
帮助的人:638万
展开全部
有以下的解决办法你可以试试看看:
1、统一文件的编码方式,就是你编写的jsp页面或是你的servlet文件的编码方式
2、对需要传输的字符串进行硬编码 getByte方法,你可以看看
3、改变容器的编码方式,如果是tomcat,在server.xml里吧。就是和改变端口的那个文件里。具体方法网上多的很。
4、写一个filter来对请求和相应进行编码
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lazysunboy
2010-12-07 · TA获得超过150个赞
知道答主
回答量:192
采纳率:0%
帮助的人:0
展开全部
页面也要设置字符编码为utf-8
servlet中不知道会不会因为filter中设置了就不需要设置了,还是两种都设置上看一下就清楚了
补充一句,肯定不是这个函数的问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kingofsong
2010-12-07 · TA获得超过168个赞
知道小有建树答主
回答量:230
采纳率:100%
帮助的人:86.5万
展开全部
你读的文件中有中文吧
servlet在输出时,会按照你设的utf-8的方式输出,中文一定就是乱码了。
而JAVA类不会去按照utf-8去读,所以没事。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Mars狂舞
2010-12-07
知道答主
回答量:3
采纳率:0%
帮助的人:0
展开全部
看看两头都设施对应嘛
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式