JSp отображает иностранную валюту как мусор - PullRequest
0 голосов
/ 25 июля 2011

Я пытаюсь отобразить иностранные валюты в моем jsp, используя тег formatnumber из apache fmt tag-lib, он отображает данные ненужных символов.Я могу подтвердить, что в контроллере «динамическое значение символа валюты» отображается правильно, когда я печатаю на консоли, и я явно устанавливаю кодировку объекта ответа на UTF-8, а также кодировку страницы jsp и кодировку на UTF-8.Установка языкового стандарта не поможет, поскольку транзакции осуществляются в иностранных валютах, и любая транзакция может быть просмотрена в любой части мира.

Похоже, что есть ошибка с тегом formatnumber, но не уверен ни в каких альтернативах для этого.mail-archives.apache.org/mod_mbox/tomcat-taglibs-user/200308.mbox/%3C000001c36bc5$4ee81db0$0100a8c0@pentium3%3E Я проверил эти ЕВРО и иены.

Я вставил часть кода моего jsp http://pastebin.com/eZAKKeJ9. Я попытался распечатать браузер, чтобы удостовериться, что передается тегу, поэтому его ненужная строка 545 сообщает, а строка 564 сообщает номер формата, передаваемый свалюта.и обработчик http://pastebin.com/H21fdbZm.Проверьте браузер, чтобы убедиться, что он по умолчанию изменился на UTF-8.Любая помощь приветствуется.редактировать: спам не позволяет мне размещать более 2 ссылок.

1 Ответ

1 голос
/ 25 июля 2011

Из вашего кода:

currencySymbol="${txnFormBean.originalCurrencySymbol}"

Эта проблема может возникнуть, когда свойство bean-компонента фактически вернуло не-UTF-8 символ. Вы должны исправить это в источнике, где этот персонаж возник. Это файл Java? Убедитесь, что файл сохранен как UTF-8. Это файл свойств? Убедитесь, что вы используете escape-последовательность Unicode. Это запись в базе данных? Убедитесь, что таблица использует UTF-8. И т.д.

...