У меня есть небольшое веб-приложение, которое обрабатывает много текста на испанском языке.
В одном месте кода страница JSP
отвечает с Json
String
, содержащим часть этого текста. Если я печатаю String
на консоли, это выглядит как бред. Но если я проверю заголовок / содержание ответа в Chrome Developer Tools, он выглядит правильно. Передается в правильной кодировке. Эта часть веб-приложения работает как положено.
В другом месте кода другая страница JSP
отвечает HTML
. Часть этого HTML
содержит больше текста на испанском языке. На этот раз текст передается (и отображается) как фальшивка.
Каковы потенциальные причины, по которым это может происходить? Оба раза я просто печатаю текст, используя out.print
. Почему это работает в одной точке, а не в другой?
Примеры:
// In a file who's only output is the json string
String jsonString = ...
System.err.println(jsonString); // prints jibberish
out.println(jsonString); // looks correct when the response is viewed in Chrome Developer tools, and looks correct in a browser
...
// In a file who's output is a complete html page
String spanishText = ...
out.println("<label>" + spanishText + "</label>"); // looks like jibberish when the response is viewed in Chrome developer tools, and shows up as jibberish in a browser