我遇到的问题是我的JSP没有正确显示许多货币,如欧元符号,我使用JDBC从MySQL检索信息,目前正在使用tomcat v7.0.37。
起初我认为它可能是一个tomcat问题,所以我将'URIEncoding =“UTF-8'添加到我的server.xml和server.xml中的各个位置,但没有运气,任何想法可能是什么问题?
感谢。
答案 0 :(得分:0)
为了打印al字符,你必须确保MySQL,jsp文件和生成的html中的编码是相同的。如果您选择的编码是UTF-8,那么MySQL表必须是UTF-8,jsp文件应该是用UTF-8编写的,并且在进入浏览器的html中必须有如下标记: < meta http-equiv =“Content-Type”content =“text / html; charset = UTF-8”/>
答案 1 :(得分:0)
发现问题是什么,我从数据库获取的数据是clob数据类型,我将clob转换为字符串的方式导致下面的编码问题是我的代码是第一个。
Clob clob=resultSet.getClob(1);
Reader reader = clob.getCharacterStream();
ByteArrayOutputStream out = new ByteArrayOutputStream();
int c;
while ((c = reader.read()) != -1) {
out.write(c);
}
reader.close();
out.close();
return out.toString();
我改变了通过在clob上执行子字符串将clob转换为字符串的方式并修复它。
Clob clob=resultSet.getClob(1);
String outString= clob.getSubString(1l, (int)clob.length());
return outString;
答案 2 :(得分:0)
尝试将此指令添加到JSP页面
<%@ page contentType="text/html; charset=UTF-8" %>