Spring-MVC не может декодировать китайские иероглифы - PullRequest
0 голосов
/ 23 марта 2011

Я прочитал эту проблему с кодировкой страницы jsp и Сохранение китайских символов с помощью Spring-MVC / Java

У меня был следующий фрагмент кода в web.xmlс момента запуска моего проекта, и он, кажется, правильно введен:

<!-- Reads request input using UTF-8 encoding -->
    <filter>
        <filter-name>characterEncodingFilter</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>characterEncodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

И запрос http имеет такой заголовок "content-type: application / x-www-form-urlencoded; charset = UTF-8"установлено, но строка журнала показывает это: Запрос Body Bean: [UserBean @ 4a8da092 fristname = '??', lastname = '??']

Также есть кое-что полезное в том, что я использую NetBeans, если навести курсор напеременные имя и фамилия, они отображаются правильно.Не уверен, что еще мне нужно, чтобы это заработало.Любая помощь будет оценена.

1 Ответ

2 голосов
/ 23 марта 2011

Звучит так, как будто все в порядке, но ваш регистратор не способен отображать эти символы или, возможно, средство просмотра текста, которое вы используете для просмотра этих журналов, не может декодировать символы.

Вы можете исключить просмотрщик текста, открыв файл журнала в шестнадцатеричном редакторе и отыскивая значения UTF-8, которые соответствуют вашему вводу (байты, которые имеют начальный 1 или отображаются как отрицательные значения)

...