最近在做一个项目,要用到文件的上传下载,比较了一些有类似功能的组件,最后确定了用jspbrowser,原因就是它简单且功能丰富。
当然在这个过程中,最头疼的就是中文乱码问题(其实这也不是什么问题,坚持所有文件都一个编码,就很简单)。下面说说如果让它 很好的支持中文,三步走:
第一步:设置java的编码
<%@page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
第二步:在head标签内设置页面编码
<meta http-equiv="content-type" content="text/html; charset=utf-8">
第三步:在jsp:scriptlet标签中设置response编码
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=UTF-8");
第四步:这个也是我换了很久时间才解决的上传下载的中文乱码问题,设置ServletInputStream编码
/** Convenience method to read HTTP header lines */
private synchronized String getLine(ServletInputStream sis) throws IOException {
byte b[] = new byte[1024];
int read = sis.readLine(b, 0, b.length), index;
String line = null;
if (read != -1) {
//TODO 用给定的编码方式把给定的byte数组转换为字符串 !!!关键之所在!!!
line = new String(b, 0, read , "utf-8");
if ((index = line.indexOf('\n')) >= 0) line = line.substring(0, index - 1);
}
return line;
}
和大家分享一下,希望能给大家带来帮助。毕竟我也为了这个简单的问题换了一天的时间。顺便谢谢这篇文章对我的启发http://www.learndiary.com/home/space-1-do-blog-id-2164.html
附:支持中文的jspbrowser源码,请遵守开放协议。
posted on 2010-01-06 23:33
ju 阅读(2447)
评论(3) 编辑 收藏 所属分类:
SSH系列