我有一个带弹簧框架的应用程序。我有一个表单,我用jQuery提交表单:
console.log( jQuery("#descripcionCuenta").val() );
jQuery("#cuentaDeCobroForm").submit();
我在下一个方法中接受了这个:
@RequestMapping(value = "/emitirCuentaDeCobro", method = {RequestMethod.GET,RequestMethod.POST} )
public String emitirCuentaDeCobro(
@ModelAttribute("cuentaDeCobroDominio") CuentaDeCobroGUIDTO cuentaDeCobroGUIDTO,
BindingResult result, ModelMap modelMap,
HttpServletRequest request,
HttpServletResponse response) {
....
}
当字段有重音符号(á,é,í...)时,控制台中的字段descripcionCuenta没问题,但是方法显示不正确,显示?而不是口音。
例如:
Descripción:
在控制台中:Descripción
在方法中:Descripci?n
知道如何解决这个问题吗?
我尝试在web.xml中添加一个过滤器:
<filter>
<filter-name>encoding-filter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encoding-filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
并修改了server.xml中的连接器:
<Connector URIEncoding="UTF-8" ...>
...
</Connector>
这些都不起作用。
答案 0 :(得分:0)
在web.xml中添加以下内容
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>