У меня проблемы с интернационализацией:
Мои строковые поля UTF-8 отображаются в браузере как ???? после возврата из базы данных.
После извлечения из базы данных с помощью Hibernate поля String отображаются правильно при проверке с помощью отладчика eclipse.
Однако Struts2 / Tiles отображает эти строки как ???? в HTML, отправленном в браузер.
Директива charset присутствует в заголовке HTML:
Возможно, мне нужно что-то добавить в мои конфигурации struts2 или tile?




Попробуйте установить атрибут lang в элементе <html />.
Пример HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html lang = "ja">
Пример XHTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns = "http://www.w3.org/1999/xhtml" xml:lang = "ja">
Вы можете попробовать что-то подобное.
Взято со страницы солнца на Наборы символов и кодировки. Я думаю, это должна быть самая первая строка в вашем jsp.
<%@ page contentType = "text/html; charset=UTF-8" %>
OMG - получается, что причина была в чём-то полном?
все ответы на наши плитки обслуживались самодельным сервлетом, который игнорировал
<%@ page contentType = "text/html; charset=UTF-8" %>
директива (и кто знает что еще).
TilesDispatchExtensionServlet: чертовы астронавты архитектуры, я качаю вам кулак.
Вам нужно использовать фильтр. Видеть: