我在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"));
但是我需要知道怎么可能。谢谢