`

jspsmartupload,smartupload UTF8 版,解决乱码问题

    博客分类:
  • J2EE
阅读更多
1 参考资料
A [url]http://hi.baidu.com/icelove0918/blog/item/d37a240645cae378020881b2.html [/url]
B http://zhouwenjun.iteye.com/blog/542333
C http://javay.iteye.com/blog/293409
D http://blog.tianya.cn/blogger/post_show.asp?BlogID=769988&PostID=10095284
E http://tanganping.iteye.com/blog/81615

2 原因:
JSP页面设置编码:
<%@ page language="java" pageEncoding="UTF-8"%>
使用smart-upload.jar上传后台后到中文值出现乱码,使用过滤器及设置转码也没效果,页面设置为GBK,GB2312提交后台中文显示正常,参考以下资料
总结如下:
使用jspsmart.jar要修改代码:由于各版本不同,修改也有所变化
A 第一种修改方式:
private String getDataHeader() {
	int i = m_currentIndex;
	int j = 0;
	for (boolean flag1 = false; !flag1;)
	if (m_binArray[m_currentIndex] == 13 
                && m_binArray[m_currentIndex + 2] == 13) {
				flag1 = true;
				j = m_currentIndex - 1;
				m_currentIndex = m_currentIndex + 2;
			} else {
				m_currentIndex++;
			}
		// 修改开始
		String s = null;
		try {
			// 修改代码,首先得到响应的字符编码类型,然后对得到的字符串进行编码。
			String encode = m_response.getCharacterEncoding();
			if (encode.equalsIgnoreCase("UTF-8")) {
				s = new String(m_binArray, i, (j - i) + 1, "UTF-8");
			} else {
				s = new String(m_binArray, i, (j - i) + 1);
			}

		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		}
		// 修改结束
		return s;
}

B 第二种修改方式
反编译com.jspsmart.upload.SmartUpload,把SmartUpload.java中public void upload()的
String s9 = new String(m_binArray, m_startData, (m_endData - m_startData) + 1);

改为
String s9 = new String(m_binArray, m_startData, (m_endData - m_startData) + 1, "UTF-8");

重新编译后打包.
form中添加字符编码属性accept-charset="UTF-8"
有其它方式是已经打包好了.jar包,见附件. 
3 我的处理方式
用smart-upload-src.rar中的源码可以解决乱码问题,但将之在myeclipse中使用自带的打包工具后使用时出现乱码
分享到:
评论
2 楼 yxyysu 2012-05-21  
请问,哪个是能解决文件中文名字乱码问题的,我试了,这三个好像都不行。还是我使用的方式不对。
1 楼 四十一号 2012-04-29  
谢谢分享,好东西

相关推荐

    jspsmartupload支持UTF-8版本

    相信很多朋友都用过这个上传下载组件,但是,这个组件默认使用的编码是gb2312的,因此,如果你的页面是utf-8的,就会出现乱码等问题。在这里,修改了一些方法,这样可以支持utf-8编码的上传和下载。

    jsp SmartUpload 中文乱码问题解决.docx

    jsp SmartUpload 中文乱码问题解决 jsp SmartUpload 中文乱码问题解决是指在使用 jsp 的 SmartUpload 组件进行文件上传下载时,遇到中文乱码问题的解决方法。在这篇文章中,我们将介绍如何解决 jsp 中 SmartUpload ...

    jspSmartUpload.jar(已解决utf-8乱码问题)

    重新编译过,修正了utf-8下取值乱码的问题

    jspSmartUpload组件(已解决中文乱码问题)

    综上所述,`jspSmartUpload`组件的中文乱码问题的解决,展示了在跨语言环境下处理字符编码的重要性,以及对源代码进行定制化修改以适应特定需求的必要性。对于Java Web开发者来说,理解和掌握这些知识点对于构建健壮...

    jspsmartupload中文乱码解决版

    本篇将详细讨论如何解决`jspsmartupload`中的中文乱码问题,并结合`struts1.2`框架提供实例。 首先,理解乱码产生的原因至关重要。乱码通常是由字符编码的不匹配导致的。在HTTP请求中,数据默认是以ISO-8859-1编码...

    jspsmartupload上传文件工程路径中文无乱码

    首先,`jspsmartupload`库解决了文件上传过程中的一些常见问题,如文件大小限制、多文件上传以及错误处理。它提供了一个简单易用的API,可以方便地集成到JSP和Servlet中,使得文件上传操作变得轻松。 要实现中文...

    jspsmartupload(UTF-8版)

    老版本的smartupload是GBK的,上传文件后文件,保存后会乱码,这里更新了源码希望可以帮到大家

    jsp上传组件smartUpload_utf-8_jar包,解决utf-8编码的乱码问题

    jsp上传组件smartUpload_utf-8_jar包,解决utf-8编码的乱码问题

    JspSmartUpload自定义编码版

    **JspSmartUpload自定义编码版**是一款专为解决Java Web开发中文件上传时可能出现的中文乱码问题而设计的工具。在传统的JSP文件上传过程中,由于编码不一致,尤其是遇到非ASCII字符(如汉字)时,可能会导致乱码现象...

    jspsmartupload.jar 可以处理下载时中文乱码问题

    此外,`jspsmartupload.jar`作为一个工具类库,其源码可供开发者学习和参考,了解其内部实现原理,从而更好地理解和解决问题。源码阅读可以帮助我们理解如何处理复杂的编码转换和文件操作,提升我们在处理类似问题时...

    JspSmartUpload自定义编码终版

    《JspSmartUpload自定义编码终版:解决中文乱码问题及深度解析》 在Web开发中,文件上传是一项常见的功能。JspSmartUpload是一个基于Java的文件上传组件,它为JSP页面提供了方便的文件上传接口。然而,在实际应用中...

    [jspSmartUpload]------------>jspSmartUpload上传中文文件名 乱码问题

    标题中的“jspSmartUpload上传中文文件名乱码问题”是一个常见的技术挑战,特别是在处理Web应用程序时,特别是那些涉及用户上传文件的场景。JSP Smart Upload是早期流行的一个用于Java Web应用的文件上传组件,它...

    JspsmartUpload解决中文乱码

    别嫌贵,就是好用,就是任性。自己做项目的时候碰到上传乱码的问题了。然后通过改源码,重新打包。就是这个资源。绝对有效,设置的编码是utf-8

    JSP SmartUpload上传文件乱码解决纪实+UploadBean上传解决方案.mht

    通过以上步骤,我们可以有效地解决JSP文件上传过程中可能出现的乱码问题,无论是使用SmartUpload还是UploadBean。对于提供的`uploadbean1.9.zip`文件,它可能包含了UploadBean的源码或者示例,可以帮助开发者更好地...

    jspSmartUpload可设置编码格式版本,附带源码

    通过以上操作,你就可以利用这个增强版的`jspSmartUpload`解决文件上传过程中的乱码问题,提高你的应用的兼容性和用户体验。对于那些经常处理多语言内容或需要处理特殊字符集的项目,这个工具无疑是一个非常实用的...

    smartupload解决中文乱码

    最后,我们来看看提供的两个jar文件:`jspSmartUpload解决中文乱码.jar`和`jspsmartupload.jar`。这两个文件是`SmartUpload`组件的实现库,包含了解决中文乱码问题的特定版本或补丁。在项目中引入这些库,可以确保`...

Global site tag (gtag.js) - Google Analytics