Странный сценарий здесь.Установка кодировки по умолчанию для всех jsps в веб-приложении Java
У меня есть веб-приложение Java, которое поддерживает символы UTF-8. То есть они показывают и могут быть введены в приложении
У меня также есть другое приложение, которое обращается к предыдущей, как показано ниже основного фрагмента
final URL urlObject = new URL("someurlyadayada");
final URLConnection connection = urlObject.openConnection();
...
....
connection.connect();
final InputStream is = connection.getInputStream();
InputStreamReader isr = new InputStreamReader(is,"UTF8");
final OutputStream out = new FileOutputStream(new File(somelocalfile));
OutputStreamWriter osw = new OutputStreamWriter(out,"UTF8");
int read = 0;
while ((read = isr.read()) != -1) {
osw.write(read);
}
....
Когда данная страница просматривается в браузере все делает хорошо UTF-8 символы и все. Но при использовании приведенных выше фрагментов символы повреждены либо возвращаются как ??????? или только неправильные символы.
Что я до сих пор пробовал установить кодировку UTF-8 на записи потока ввода-вывода, а также на объекты запроса и ответа в приложении.
Это частично работает в том, что дано JPS со следующими линиями
Прочтено Прочтено,Прочтено,
<%=someJavaMethodWhichReturnsTheAboveLineAlso()%>
В браузере это делает хорошо, как:
Прочтено Прочтено, Прочтено,
Прочтено Прочтено, Прочтено ,
Но использование страницы парсер будет возвращать
оÑÑÐμно ÐÑоÑÑÐμноÑоÑÑÐμно ÐÑоÑÑÐμно
Прочтено Прочтено, Прочтено,
Если установить contentType="text/html;charset=UTF-8"
поверх всех моих страниц JSP, он фиксирует обе проблемы, но у меня есть было сказано более высокими взлетами, что обновление 100 JSP для этого невозможно.
У меня также создается впечатление, что это то, что я могу установить один раз и использовать его по умолчанию.
Что лучше всего здесь. Я имею два мнения об установке контента в JSP. Не уверен, что это неправильно, или мы ошибаемся, чтобы никогда не сделать это в первую очередь.
У меня был хороший взгляд вокруг решений и имел смешанный успех
Удаляется мой предыдущий комментарий. Это, в дополнение к моим другим изменениям (потоки ввода/вывода, похоже, работают. Я забыл, что добавил код в другом месте, которое пыталось установить тип содержимого. Как только я удалил свой код, он сработал. –