Кодировка UTF-8 и Struts 2.1.7Jquery

Программирование на jquery
Ответить
Anonymous
 Кодировка UTF-8 и Struts 2.1.7

Сообщение Anonymous »

Согласно заголовку, у меня проблема с кодировкой UTF-8. Я вижу ? вместо специального символа для польского языка.
Я постараюсь объяснить свою проблему.
У меня есть страница JSP с этим кодом: У меня есть вызов Ajax, записанный следующим образом:

Код: Выделить всё

$.ajax({
url :urlToPrepend + "url/load.action",
type : "post",
dataType : "json",
async:false,
data :
{
repeat: 0,
changedLayoutName:activeLayoutRS,
sapNamesWithConfig:selectedColumnSAPNamesWithConfigRS,
columnNamesWithConfig:selectedColumnNamesWithConfigRS,
sortBy:sortByWithConfigRS,
extractConfig:extractConfigRS,
savedParams:savedParams
},
success : function(data)
{
data.columNames

Код: Выделить всё

data.columnNames
содержит список из Java Action с польской меткой. Если я поставлю точку отладки в Firefox, я увижу, что в этот момент в строках вместо правильного акцента стоит знак вопроса.
В Java Action я пытался поместить этот код линии:

Код: Выделить всё

response.setContentType("text/html; charset=UTF-8");
response.setCharacterEncoding("UTF-8");
Я также пробовал поместить в struts.properties параметр:

Код: Выделить всё

struts.i18n.encoding=UTF-8
Я пытался добавить кодировку параметра в struts.xml для конкретного действия.
Ничего не помогло , есть ли у вас какие-нибудь идеи по поводу решения?
ОБНОВЛЕНИЕ:
данные columnsNames представляют собой ArrayList :

Код: Выделить всё

columnNames = new ArrayList();
заполняется методом getText():

Код: Выделить всё

columnNames.add(getText(columnData.getValue())))
где columnsData.getValue() — ключ для файла свойств (пример: Catalogue=Rodzina produkt\u00f3w). Если я добавлю тест выражения в отладку, я также увижу закодированную метку Rodzina produktów, но в ответе json я вижу это:

Код: Выделить всё

"columnNames":["","","Pojazd","Rodzina produkt�w"
ArrayList помещается в jsonData с помощью этого кода:

Код: Выделить всё

jsonData.put("columnNames", columnNames);
ОБНОВЛЕНИЕ 2:
Я обнаружил, что для некоторых действий мы используем плагин с именем GZIP. Для этого часть успеха результата в файле struts.xml определяется следующим образом:

Код: Выделить всё

    
true
jsonData
true

Знаете ли вы, как это работает?
ОБНОВЛЕНИЕ 3:
Удаление EnableGZIP работает как положено, поэтому остается единственный вопрос относительно этого конкретного плагина.

Подробнее здесь: https://stackoverflow.com/questions/280 ... ruts-2-1-7
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Jquery»