【问题标题】:spring mvc charset春天mvc字符集
【发布时间】:2012-02-16 21:33:29
【问题描述】:

我正在使用spring mvc。我正在用希伯来语写作,所以在我的 jsp 表单中,我要求用户用希伯来语给出他的名字。这是表格:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<form:form method="post" action="registration-submit.html">
    אנא מלא את הפרטים הבאים בכדי להשלים את הרשמתך:
    <table>
        <tr>
            <td>שם:</td>
            <td><form:input path="name" type="text" id="nameInput"/></td>
        </tr>
        <tr>
            <td>סיסמא:</td>
            <td><form:input path="password" type="password" id="passwordInput"/></td>
        </tr>
        <tr>
            <td>וידוא סיסמא:</td>
            <td><input type="password" id="passwordVerifyInput"/></td>
        </tr>
        <tr>
            <td>דואר אלקטרוני:</td>
            <td><form:input path="email" type="text" id="emailInput"/></td>
        </tr>
        <tr>
            <td colspan="2">
                <input type="submit" value="הירשם"/>
            </td>
        </tr>
    </table>
</form:form>

对于registration-submit.html,我有控制器:

@RequestMapping(value = "/registration-submit", method = RequestMethod.POST)
    public ModelAndView showRegistrationSubmitPage(
            @ModelAttribute("registrationForm") final RegistrationForm registrationForm,
            BindingResult result) {
                ...
                ...
}

当我将registrationForm.name 添加到手表时,我看到:× ××ר(不可读的字符)而不是希伯来语名称。
jsp 文件以 UTF-8 字符集保存。为什么我会从表单中得到不可读的字符? spring的字符集如何设置?

【问题讨论】:

    标签: java spring spring-mvc character-encoding


    【解决方案1】:

    尝试在 web.xml 中注册CharacterEncodingFilter

    【讨论】:

    • 并确保它是第一个激活的过滤器
    【解决方案2】:

    你需要做这样的事情

     <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-name>encodingFilter</filter-name> 
    
    <url-pattern>/*</url-pattern> 
    

    【讨论】:

    • 确保它是第一个过滤器
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-05
    • 2014-12-24
    • 2014-02-25
    • 2015-02-25
    • 1970-01-01
    相关资源
    最近更新 更多