проблема отображения юникода с помощью Spring MVC - PullRequest
0 голосов
/ 27 мая 2009

Я пытаюсь отобразить некоторые символы непальского языка в моем весеннем веб-приложении MVC с freemarker,

Я сделал все, как у меня есть фильтр кодировки символов в моем 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>

Моя конфигурация бесплатного маркера похожа на

<bean id="viewResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
        <property name="cache" value="true"/>
        <property name="prefix" value=""/>
        <property name="contentType" value="text/html; charset=UTF-8"/>
        <property name="suffix" value=".ftl"/>
        <property name="exposeSpringMacroHelpers" value="true"/>
</bean> 

и в шаблоне у меня есть

<meta http-equiv="content-type" content="text/html; charset=UTF-8">

определено, я просто вижу странных персонажей на моей странице. Мысль заголовок ответа имеет правильный тип контента "text / html; charset = UTF-8"

Не уверен, в чем и где проблема. Я даже пытался установить тип контента из контроллер response.setContentType ('text / html; charset = UTF-8 ");

Помогите, ребята

Ответы [ 2 ]

4 голосов
/ 28 мая 2009

хорошо, я исправил эту проблему, я использовал ReloadableResourceBundleMessageSource вместо ResourceBundleMessageSource со свойством defaultEncoding для UTF-8, поэтому также пришлось добавить classpath для значения свойства basename.

<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basename" value="classpath:messages"/>
<property name="defaultEncoding" value="UTF-8"/>
<property name="useCodeAsDefaultMessage" value="false"/>
</bean>

теперь работает ..

0 голосов
/ 27 мая 2009

Вы уверены, что контент правильный? Возможно, это не действительно UTF-8.

"Странные" персонажи только в самом начале? Тогда они могут быть в формате UTF-8 в формате Windows (маркировка порядка байтов).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...