我有一个multipart / form-data表单,可以将csv文件上传到rest easy(JAX RS)webservice。这个文件可以包含 iso-8859-1字符,例如é。当我通过Firefox上传文件时,这些字符会出现乱码,最终会像?当我通过Internet Explorer上传文件时,一切正常。
我已经做了很多阅读,发现firefox结合multipart / form-data存在问题,而charset属性(enctype='multipart/form-data; charset=ISO-8859-1'
)不起作用。
所以我尝试在我的HTML页面中设置<meta http-equiv="Content-Type" content="text/csv; charset=iso-8859-1" />
(我也尝试设置text / html或multipart / form-data而不是text / csv,但这似乎没有任何区别。
我浏览了其余的简单api并发现了一些关于“覆盖多部分消息的默认后备内容类型”的内容。没有找到内容类型时的默认回退是us-ascii。我尝试处理的字符(é,..)在us-ascii中不存在,因此它们最终会出现乱码。覆盖此默认回退内容类型似乎也没有帮助(请参阅:http://docs.jboss.org/resteasy/docs/1.2.GA/userguide/html/Multipart.html)
当我说Internet Explorer在http标头中正确发送内容类型+字符集时,我是对的,所以一切顺利。那个firefox在尝试发送内容类型/字符集的同时与multipart / form-data相结合时会搞砸了什么?我已经完成了对stackoverflow的搜索,但是没有一个已批准的解决方案似乎适用于我的情况。
以前是否有人遇到过这个问题? (使用Jboss休息简易框架的multipart / form-data文件上传)?还有什么我可以尝试的吗?
提前致谢!
的Yannick