Monday, July 10, 2006

Ajax encoding

Технический трюк для борьбы с encoding при использовании Ajax. Проблема, как всегда, связана с кириллицей. Проблемы нет, если все делать в UTF-8, а вот если использовать CP-1251 или что еще - то да, вам поможет нижеследующий трюк:

Вы запрашиваете через XMLHttpRequest() некоторую JSP страницу. И результат ее работы Вам нужен не в UTF-8. Прямое указание кодировки в потоке запрашиваемой страницы решает проблему:

<%
response.setContentType("text/html;charset=windows-1251");
%>

3 comments:

Anonymous said...

это трюк?

Abava said...

трюк в том, что для JSP страницы можно определить charset разными способами. Но вот для использования через Ajax это нужно делать именно указанным выше спообом

Anonymous said...

При charset=windows-1251:

IE, Opera - все нормально.
А вот Firefox, Safari и Google Chrome - ответ с сервера русскими буквами - нифига.
(На сервере linux)

Как же быть с кроссбраузерностью?