jspsmartupload上传文件中文乱码
采用jspsmartupload上传文件时,如果文件名含有中文,在服务器端取得文件名是会出现乱码。如果表单项中填写了中文,一样会有乱码问题。看了下jspsmartupload的源码,改了两个地方,现在可以没有乱码问题了。
第一个地方,修改类SmartUpload中的upload()方法
第二个地方,修改类SmartUpload中的getDataHeader()方法private String getDataHeader() { int start = m_currentIndex; int end = 0; int len = 0; boolean found = false; while(!found) if(m_binArray[m_currentIndex] == 13 && m_binArray[m_currentIndex + 2] == 13) { found = true; end = m_currentIndex - 1; m_currentIndex = m_currentIndex + 2; } else { m_currentIndex++; } //原始代码 //String dataHeader = new String(m_binArray, start, (end - start) + 1); /** * 2008-9-17 解决文件名的中文乱码问题 */ String dataHeader = null;try {dataHeader = new String(m_binArray, start, (end - start) + 1,"utf-8");} catch (UnsupportedEncodingException e) {e.printStackTrace();} return dataHeader; }
如果不行的话,试着将编码改为项目页面中指定的编码格式