Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Spring+RSS+ContentNegotiatingViewResolver+локаль, Кирилица не всегда отображается 
V
    Опции темы
lamao
Дата 1.8.2012, 17:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 73
Регистрация: 23.4.2008

Репутация: нет
Всего: нет



В приложении есть поддержка RSS. Сделано это с помощью ContentNegotiatingViewResolver. Соответствующий маппинг вот
Код

<bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
        <property name="order" value="1"/>
        <property name="mediaTypes">
            <map>
                <entry key="json" value="application/json"/>
                <entry key="xml" value="application/xml"/>
                <entry key="rss" value="application/rss+xml"/>
            </map>
        </property>

        <property name="defaultViews">
            <list>
                <!-- RSS View -->
                <bean class="org.jtalks.jcommune.web.view.RssViewer"/>
            </list>
        </property>
        <property name="ignoreAcceptHeader" value="true"/>

    </bean>


Также есть возможность выбрать язык - русский, украинский, английский. И вот если в контенте есть кирилица, но язык выбран английский, то вылазят кракозябры. Если язык кирилический - все нормально.
PM MAIL WWW   Вверх
leniviy
Дата 1.8.2012, 21:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 552
Регистрация: 8.2.2003
Где: Спб

Репутация: 1
Всего: 5



Возможно эта RSS библиотека пытается выводить контент не в UTF-8, а в cp1251 и cp1252.
Тогда эта кодировка передается в метод response.setCharacterEncoding(), можно поставить брекпоинт на этот метод во всех имплементациях Response.
Возможно это не спринг, а сервлет контейнер виноват. Tomcat, например, под виндами не использует utf-8 по дефолту

Это сообщение отредактировал(а) leniviy - 1.8.2012, 21:47
PM MAIL   Вверх
leniviy
Дата 1.8.2012, 22:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 552
Регистрация: 8.2.2003
Где: Спб

Репутация: 1
Всего: 5



У тебя есть класс, который расширяет AbstractRssFeedView ?
Попробуй в нём вызвать setContentType("text/html;charset=UTF-8");
PM MAIL   Вверх
lamao
Дата 2.8.2012, 11:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 73
Регистрация: 23.4.2008

Репутация: нет
Всего: нет



Цитата(leniviy @ 1.8.2012,  22:24)
У тебя есть класс, который расширяет AbstractRssFeedView ?
Попробуй в нём вызвать setContentType("text/html;charset=UTF-8");

Спасибо за направление. Помогло. В своем сабклассе AbstractRssFeedView в конструкторе вызвал

Код

setContentType("application/rss+xml;charset=UTF-8")


В оригинальном AbstractRssFeedView было без кодировки.

Это сообщение отредактировал(а) lamao - 2.8.2012, 11:38
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0498 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.