jspsmart字符编码的问题

来源:百度文库 编辑:神马文学网 时间:2024/05/23 18:55:01
使用jspsmart上传文件很方便,但是如果使用UTF-8编码,会出现乱码。对于使用   UTF-8编码的项目很不方便。GB2312编码格式不会出现乱码。
今天看了一下,只需要修改一个地方就可以解决问题。
首先反编译SmartUpload类,只需要修改一个私有方法,方法修改如下:
Java代码
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;
}
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都不会乱码。如果有问题,请联系我!谢谢!