在JSP上没有显示的特殊字符

时间:2013-06-05 17:44:29

标签: spring jsp encoding

我正在使用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属性,那么它就会失败,并且之前正在运行。

有任何帮助吗?谢谢!

1 个答案:

答案 0 :(得分:0)

好吧,最后,似乎我被骗了:) 我被告知该名称已正确存储到数据库中。但实际上,事实并非如此。问题是当用户上传文件时解码文件。 该文件本身是一个ZIP文件,我必须使用Apache commons compress进行解压缩。我正在使用Cp437打开文件,当文件在英文Windows系统中创建时,该文件运行良好。但是,在西班牙语Windows系统中创建文件时,打开文件时失败。

如下所示更改Cp850字符集解决了问题:

zipFile = new ZipFile(f, "Cp850");