在表单提交中发送西班牙语字符

时间:2013-06-02 19:18:57

标签: character-encoding portlet websphere-portal jsr286 spring-portlet-mvc

我正在使用Spring Portlet MVC 3.02构建Portlet并在WebSphere Portal V7上部署它们。我有一个表单提交,其中一个组合框需要发送一个西班牙语字符。像这样:

<form:select id="${ns}imTheField" path="imTheField" cssStyle="width:120px;">
    <option value="AtTheEndTheresASpanishCharacterÑ">
        AtTheEndTheresASpanishCharacterÑ
    </option>                                                   
</form:select>

“Ñ”字符在屏幕中看起来不错。该组合值通过Spring Binding进程映射到命令属性imTheField。在表单提交之后和处理程序方法中,这是我在记录该命令属性时得到的结果:

theCommand.getImTheField: AtTheEndTheresASpanishCharacterÃ

哪个不是来自表单的角色。这给我带来了麻烦,因为当表单提交中出现错误时,我必须再次使用之前的值显示表单,现在我没有因为该问题。

有什么想法吗?这是我在表单提交时从Chrome调试中得到的结果:

Request Headers
Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3
Accept-Encoding:gzip,deflate,sdch
Accept-Language:es

Form Data
imTheField:AtTheEndTheresASpanishCharacterÑ

Response Headers
Content-Language:es
Content-Type:text/html; charset=UTF-8

请注意,字段imTheField看起来很好。可能是Accept-Charset请求标头的问题?

1 个答案:

答案 0 :(得分:0)

请参阅:http://floatingcube.blogspot.co.uk/2008/10/special-characters-in-spring-mvc.html

您可能需要使用过滤器,因为弹簧使用ISO-8859-1而不是UTF-8