当前位置: 代码迷 >> Web前端 >> SmartUpload下传文件名乱码
  详细解决方案

SmartUpload下传文件名乱码

热度:166   发布时间:2012-08-27 21:21:57.0
SmartUpload上传文件名乱码

使用jspsmart上传文件很方便,但是如果使用UTF-8编码,会出现乱码。对于使用?? UTF-8编码的项目很不方便。GB2312编码格式不会出现乱码。
??? 今天看了一下,只需要修改一个地方就可以解决问题。
??? 首先反编译SmartUpload类,只需要修改一个私有方法,方法修改如下:

  1. private?String?getDataHeader()?{ ??
  2. ????????int?i?=?m_currentIndex; ??
  3. ????????int?j?=?0; ??
  4. ????????for?(boolean?flag1?=?false;?!flag1;) ??
  5. ????????????if?(m_binArray[m_currentIndex]?==?13??
  6. ????????????????????&&?m_binArray[m_currentIndex?+?2]?==?13)?{ ??
  7. ????????????????flag1?=?true; ??
  8. ????????????????j?=?m_currentIndex?-?1; ??
  9. ????????????????m_currentIndex?=?m_currentIndex?+?2; ??
  10. ????????????}?else?{ ??
  11. ????????????????m_currentIndex++; ??
  12. ????????????} ??
  13. ????????//修改开始 ??
  14. ????????String?s?=?null; ??
  15. ????????try?{ ??
  16. ????????????//修改代码,首先得到响应的字符编码类型,然后对得到的字符串进行编码。 ??
  17. ????????????String?encode?=?m_response.getCharacterEncoding(); ??
  18. ????????????if(encode.equalsIgnoreCase("UTF-8"))?{ ??
  19. ????????????????s?=?new?String(m_binArray,?i,?(j?-?i)?+?1,?"UTF-8"); ??
  20. ????????????}?else?{ ??
  21. ????????????????s?=?new?String(m_binArray,?i,?(j?-?i)?+?1); ??
  22. ????????????} ??
  23. ???????????? ??
  24. ????????}?catch?(UnsupportedEncodingException?e)?{ ??
  25. ????????????e.printStackTrace(); ??
  26. ????????} ??
  27. ????????//修改结???
  28. ????????return?s; ??
  29. ????}??

?