繁体   English   中英

带有重音符号的编码错误。 Spring-MVC峰会形式

[英]Encoding error with accents. Spring-mvc when summit form

我有一个带有spring框架的应用程序。 我有一个表单,我使用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>

这些都不起作用。

在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> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM