在表单提交中发送西班牙字符
问题描述:
我使用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
这是一个Portlet应用程序,我不认为Servlet过滤器适用 –
一Portlet应用程序只是一个动态Web应用程序的变体。你仍然可以使用过滤器。例如,Websphere Portal中经常使用验证过滤器来附加登录和注销事件 – zargarf
已经尝试过。没有解决问题 –