随笔-8  评论-20  文章-4  trackbacks-0

最近在做一个项目,要用到文件的上传下载,比较了一些有类似功能的组件,最后确定了用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系列

评论:
# re: jspBrowser中文乱码解决 2012-02-23 10:42 | xj
在linux 下有些问题  回复  更多评论
  
# re: jspBrowser中文乱码解决 2013-05-09 13:43 | qoqo
你好,非常感谢提供这么好的插件,我下的是你提供的支持中文的jspbrowser,但是上传带中文的文件还是有问题,问一下是什么原因?  回复  更多评论
  
# re: jspBrowser中文乱码解决[未登录] 2014-06-03 15:39 | allen
没用  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: