我正在使用spring MVC,我在一个网页上遇到了一个问题,该网页显示的某些记录可能包含一些特殊字符,如Á,ñ,#,@等。
在数据库中,它们存储正常。在调试时,它是从数据库中获取的。但是当在JSP上显示它们时,它正在用“?”替换特殊字符。 (问号)。
我可以在我的web.xml上使用以下配置解决此问题:
<jsp-config>
<jsp-property-group>
<url-pattern>*.jsp</url-pattern>
<page-encoding>UTF-8</page-encoding>
</jsp-property-group>
</jsp-config>
但是当我设置它时,那么以前正在运行的功能存在一些问题:我上传到网络的文件编码不正确,并且我的jsps中有一些“硬编码”属性,如
<option value="name">Seleccione tipo de ordenación</option>
没有正确编写。 有了这个jsp-config,然后他们(这个选项和文件上传)工作正常。
所以,如果我设置了这个jsp-config属性,那么它就会失败,并且之前正在运行。
有任何帮助吗?谢谢!
答案 0 :(得分:0)
好吧,最后,似乎我被骗了:) 我被告知该名称已正确存储到数据库中。但实际上,事实并非如此。问题是当用户上传文件时解码文件。 该文件本身是一个ZIP文件,我必须使用Apache commons compress进行解压缩。我正在使用Cp437打开文件,当文件在英文Windows系统中创建时,该文件运行良好。但是,在西班牙语Windows系统中创建文件时,打开文件时失败。
如下所示更改Cp850字符集解决了问题:
zipFile = new ZipFile(f, "Cp850");