Java中的字符集返回UTF-8,但字符位于Windows-1252中

时间:2019-04-19 15:23:48

标签: java encoding utf-8 jboss

我在Jboss服务器中部署了Java应用程序。我的“€”符号有问题(我想其他人也有) 在我的本地环境中,我没有这个问题,但是在开发环境中。 我有一个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"));

但是我需要知道怎么可能。谢谢

0 个答案:

没有答案