我在Amazon Linux(Java 6)上使用JBoss 7.1.3.Final。我们将系统属性“org.apache.catalina.connector.URI_ENCODING”设置为“UTF-8”,我验证了它,因为我可以调用
System.err.println("encoding:" + System.getProperty("org.apache.catalina.connector.URI_ENCODING"));
,结果是
encoding:UTF-8
在我们的数据库(MySQL 5.5.37)中,我们存储了一个值,
Detectives and “Evidence”
注意引号。在我们的MySQL命令行工具中可以看到这一点。但是,当我们有
时,在我们的JSP上<input type="hidden" class="data-name" value=“${myMap.key.name}" />
输出到浏览器的是
<input type="hidden" class="data-name" value="Detectives and ?Evidence?" />
我们如何得到卷曲引号而不是“?”?
答案 0 :(得分:1)
可能是与特定jsp的字符集相关的问题;尝试包括
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
进入jsp。
答案 1 :(得分:0)
即使在问题仍然存在后更改字符集,请检查您是否使用存储过程返回值。如果是,则确保您使用“文本”数据类型作为相应的值。