使用jspsmart上传文件很方便,但是如果使用UTF-8编码,会出现乱码。对于使用 UTF-8编码的项目很不方便。GB2312编码格式不会出现乱码。
今天看了一下,只需要修改一个地方就可以解决问题。
首先反编译SmartUpload类,只需要修改一个私有方法,方法修改如下:
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;
}
修改之后UTF-8,GBK,GB2312都不会乱码。如果有问题,请联系我!谢谢!
分享到:
- 2007-05-21 19:04
- 浏览 1855
- 评论(0)
- 论坛回复 / 浏览 (0 / 3200)
- 查看更多
相关推荐
1. **中文友好**:JSpsmart特别注重对中文字符的支持,确保在各个阶段,如输入、编辑、预览及发布等过程中,中文都能正确显示,避免了常见的编码问题。 2. **智能代码提示**:集成智能代码补全功能,能够快速完成...
在早期的Web开发中,由于编码问题,中文文件名在上传过程中常常会出现乱码,JSpsmart通过优化处理,解决了这一难题,使得开发者可以方便地处理包含中文字符的文件。 【主要特性】 1. **多文件上传**:JSpsmart支持...
这个实例中包含了JSpsmart的源码,帮助开发者深入理解其工作原理并解决文件上传过程中的编码问题。 ### 一、JSpsmart核心功能 1. **大文件上传支持**:JSpsmart允许上传大文件,并且可以设定上传时的内存阈值,...
#### 三、编码与字符集问题 在处理文件名时,可能会遇到字符集问题,例如`jsp Smart Upload`默认可能使用`gb2312`,这在某些场景下会导致乱码。解决方案是修改`jsp Smart Upload`中的`getDataHeader()`方法,将编码...
**MySQL数据库在JSPSmart中的应用** MySQL是一个广泛使用的开源关系型数据库管理系统,以其高效、稳定和易用性而受到开发者们的青睐。在Web开发中,尤其是在Java Web应用中,MySQL常常作为数据存储的主要后端,与...
JSpsmart通过内建的编码转换和路径处理机制,能够正确解析和存储包含中文字符的文件路径,使得在中文环境下的文件管理变得更加顺畅。 使用JSpsmart,开发者可以轻松实现以下功能: 1. **多文件上传**:JSpsmart...
2. **字符编码处理**:在处理中文字符时,确保正确的字符编码至关重要。这可能涉及到HTTP头部的设置、JSP页面的page指令、以及服务器配置。升级可能包括对这些地方的修改,以支持UTF-8或其他能正确处理中文的编码。 ...
在IT行业中,尤其是在Web开发领域,处理字符编码问题是一项至关重要的任务。乱码问题时常困扰着开发者,使得数据显示不正确,影响用户体验。本资源提供的"jspSmartUpload可设置编码格式版本"是一个专为解决此类问题...
charset=gb2312`,意味着页面内容将以GBK编码处理,需要注意文件名和文件内容的编码问题,避免乱码。 8. **路径处理**: - 示例中的文件保存路径使用了 `getServletContext().getRealPath("/")` 获取应用的根目录,...
乱码通常是由字符编码的不匹配导致的。在HTTP请求中,数据默认是以ISO-8859-1编码传输的,而中文字符通常需要UTF-8编码才能正确显示。因此,当服务器接收到请求时,如果没有正确地转换编码,中文字符就会出现乱码。 ...
这个官方版本可能最初存在一些编码问题,导致在调试时出现乱码,但据描述所述,这些问题已经被修正,因此用户现在可以安心使用。 `JSP Smart Upload`是一个基于Java Servlet和JSP的技术,它允许用户通过Web表单上传...
然而,当涉及到中文路径时,可能会出现乱码问题,这是由于字符编码不兼容导致的。"smartUpLoad终极版"是一个专为解决这个问题而设计的上传组件,它能够确保在处理包含中文路径的文件时,文件名和路径保持正确无误。 ...
对于标签“源码”和“工具”,这可能意味着解决方法可能涉及到查看`jspSmartUpload`的源代码,理解其内部处理机制,并可能需要自定义一些工具或函数来处理编码问题。 总的来说,理解和解决这个问题需要对HTTP协议、...
在Web开发中,文件上传和下载是常见的需求,尤其是对于包含中文字符的文件名,由于编码问题,常常会出现乱码或无法识别的情况。JSpsmartupload则解决了这个问题,它支持UTF-8等多编码格式,确保中文文件名在传输过程...
在 SmartFile.java 文件中,我们也需要增加一个属性 private String charset 用于进行字符编码转换,并添加两个方法:setCharset(String charset) 和 getCharset()。然后,在 getContentString() 方法中,我们需要将...
import com.jspsmart.upload.*; public class UploadServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { ...
在IT行业中,文件上传是一个常见的功能,特别是在Web应用中。SmartUpload是一款强大的Java上传组件,它使得文件...在jspsmart文件夹中,可能包含了SmartUpload的源码和示例,可以帮助开发者更好地理解和使用这个组件。
在使用jspSmartUpload组件进行文件上传或下载的过程中,如果文件名或文件路径中包含中文字符,可能会遇到中文乱码的问题。出现这种情况的原因通常是因为...这样做可以有效避免因字符编码不一致导致的中文乱码问题。
1. 设置请求编码:在Servlet配置中,确保设置了正确的字符编码,例如`request.setCharacterEncoding("UTF-8")`,以确保接收的文件名能够正确解码。 2. 文件名转换:在jspSmartUpload中,可以使用`SmartFile....