Charset в Java возвращает UTF-8, но символы в Windows-1252 - PullRequest
1 голос
/ 19 апреля 2019

У меня есть приложение Java, развернутое на сервере Jboss.У меня есть проблема с символом «€» (и я думаю, что другие) В моей местной среде, у меня нет этой проблемы, но в среде разработки.У меня есть JSP, с кодировкой и кодировкой в ​​UTF-8.У меня есть Jboss с этим набором свойств:

client.encoding.override="UTF8"
org.apache.catalina.connector.USE_BODY_ENCODING_FOR_QUERY_STRING="true"

В моем источнике есть фильтр с:

servletRequest.setCharacterEncoding("UTF-8"); 
servletResponse.setContentType("text/html; charset=UTF-8");

И если я разверну свое решение, эта инструкция вернет "UTF8"

Charset.defaultCharset().displayName()

Но когда я отправляю символ «€», появляется запрос: значение = 0% E2% 82% AC

Все выглядит нормально, но символ, который печатает вывод:0 €

Символ закодирован в Windows-1252

С этой инструкцией все в порядке:

 String out = new String(mvp.getBytes(Charset.forName("Windows-1252")), Charset.forName("UTF-8"));

Но мне нужночтобы знать, как может быть проблема. Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...