У меня есть простой портлет Spring MVC, и с одной из страниц портала мне нужно загружать контент, используя AJAX.
$.ajax({
type:"POST",
url:ajaxlink,
data:"lastnumber=" + lastnumber,
cache:false,
success:function (htmlanswer) {
$("#cityspeakcontent").append(htmlanswer);
}
});
Результат запроса в неправильной кодировке: "Ð – ÐÐ'ОРОÐОК,жР° Ð²Ñ € онок м. поР"(должен быть utf-8)
На странице jsp у меня есть
<%@ page contentType="text/html; charset=utf-8" pageEncoding="UTF-8" %>
Также попытался добавить фильтр:
<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>
Нет результата.
И когда в запрос ajax я добавляю
contentType: "charset=utf-8"
, генерируется исключение, генерируемое Liferay с очень большой стековой трассировкой =) (Как я понимаю исключениев методе doFilter com.liferay.portal.kernel.servlet.BaseFilter)
WTF я делаю неправильно?