【问题标题】:Encoding error with accents. Spring-mvc when summit form带有重音符号的编码错误。峰会形式时的Spring-mvc
【发布时间】:2013-12-31 10:15:27
【问题描述】:

我有一个带有 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 是可以的,但在方法中显示不正确,显示?而不是口音。

例如:

说明:
在控制台中:描述
在方法中:描述?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>

这些都不起作用。

【问题讨论】:

    标签: java jquery spring jakarta-ee spring-mvc


    【解决方案1】:

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

    【讨论】:

    • 您能解释一下原因吗? Stack Overflow 上的一个很好的答案带有一点解释,而不仅仅是一段代码。感谢您花时间发布答案并欢迎!
    猜你喜欢
    • 1970-01-01
    • 2011-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-13
    相关资源
    最近更新 更多