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

问题描述:

我使用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请求标题的问题?

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

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

+0

这是一个Portlet应用程序,我不认为Servlet过滤器适用 –

+0

一Portlet应用程序只是一个动态Web应用程序的变体。你仍然可以使用过滤器。例如,Websphere Portal中经常使用验证过滤器来附加登录和注销事件 – zargarf

+0

已经尝试过。没有解决问题 –