Я пытаюсь напечатать акцентированные персонажи с Freemarker, но вместо акцентированных персонажей я получаю только вопросительные знаки. Я проверил, что справедливо следующее утверждение:Кодировка Freemarker - вопросительные знаки вместо акцентированных символов
"UTF-8" == Environment.getCurrentEnvironment().getConfiguration().getDefaultEncoding()
я могу легко видеть, что акцентированные символы правильно проводятся в переменной, прежде чем давать его в шаблон.
Мой контекст FreeMarker можно найти здесь: https://gist.github.com/1975239
Например вместо:
Jedinečný živý koncert, kde nejen, že uslyšíte, ale i uvidíte splynutí metalové kapely s padesátičlenným orchestrem včetně.
я получаю:
Jedine?ný ?ivý koncert, kde nejen, ?e usly?íte, ale i uvidíte splynutí metalové kapely s padesáti?lenným orchestrem v?etn?.
Спасибо.
Спасибо, теперь имеет смысл, но я не создаю экземпляр OutputStream, я полагаю, он создан Spring. При отладке я вижу, что он использует org.apache.catalina.connector.CoyoteWriter, но я не могу найти ссылку на его кодировку. Спасибо –
Кодировка, используемая Каталиной, безусловно, зависит от свойства characterEncoding от 'HttpServletResponse'. Поэтому, если у вас есть что-то вроде 'response.setContentType (« text/html; charset = UTF-8 »),' в вашем MVC-контроллере, который может его решить. Но, возможно, это не правильный способ настройки кодировки весной. – ddekany
Хорошо, спасибо! Использование HttpServletResponse.setCharacterEncoding() сделал трюк! –