Обработка специальных символов с помощью Java и Struts 1.1 - PullRequest
0 голосов
/ 06 января 2011

Проблема:

Форма отправляется с текстовым полем на ней.Я ввожу строку с символом (зарегистрированный товарный знак), используя alt + 0174.Символ (R) отображается в браузере правильно.

Я нажимаю «Отправить» с точкой останова на BaseTilesRequestProcessor (самое раннее из известных мне мест для проверки запроса)

Если я копаю взапросить и найти значение, соответствующее текстовому полю, в нем есть моя строка с символом (R), но непосредственно перед (R) он имеет странный символ:

До того, как я отправил этот вопрос, янашел ответ здесь: http://ianpurton.com/struts-utf-8-and-form-submissions Я использовал эту технику, и она работала правильно.Итак, мой вопрос, почему это работает?Я проверил request.getCharacterEncoding (), прежде чем этот фильтр был применен, и он был нулевым.Что устанавливает это свойство?Браузер выполняет отправку?

Спасибо!

1 Ответ

1 голос
/ 06 января 2011

Да, браузер может установить это свойство во время отправки, но, как правильно указала ссылка, большинство браузеров не устанавливают это по умолчанию. В результате вы получите все, что по умолчанию в Struts 1, что явно не UTF-8. Тот факт, что вы получили NULL при проверке getCharacterEncoding (), подтверждает, что браузер не отправляет такой заголовок.

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