commons-fileupload中文乱码解决办法

fileupload乱码在1.0的版本之前一直存在,非常恼人的bug。

据说在1.0之后的版本中已经得到修复,因为要做个微信公众平台的工具,需要使用这个jar包。不凑巧,让我碰到这个问题了。

在只是用form表单的情况下,通过request的getParameter方法,只要jsp以及servlet中都用utf8编码,是不会出现乱码的。但是使用了fileupload这个jar包,获得的表单input内容,就会出现乱码,排查了很久总算找到了问题。

fileupload得到的表单数据,是使用”iso8859-1“编码的,而我在servlet以及mysql中使用的编码都是utf8,因此需要一个转换的步骤:

String newStr=new String(tmpStr.getBytes(“iso8859-1″), “utf8″);

即可将获得表单内容,从iso8859-1转换为utf8,中文正常使用。

 

Comments

Comments are closed.

Go back to top