我有个csv文件。我需要使用jsp在html表中显示csv文件内容。我已经使用开放的csv编写了所需的代码。是的,它成功地显示在html表中。但是一些神秘的字符被显示为“-?- 1 -?-
”代替"- 1-
“,在那里那些问号是没有必要的。
我尝试以以下方式将值转换为ansi,以消除神秘字符的输入:
csvReader = new CSVReader(reader);
int rowCount = 1;
while ((line = csvReader.readNext()) != null) {
%>
<tr>
<td class="heading" width="30"><%=rowCount%></td>
<%
for (int i = 0; i < line.length; i++) {
if (rowCount == 1) {
%>
<td class="ex-headding" width="120"><strong><%=line[i]%></strong></td>
<%
} else {
//this is the code to convert into ansi
String utf = line[i];
byte[] data = utf.getBytes("ASCII");
line[i] = new String(data);
%>
<td><%=line[i]%></td>
<%
}
}
%>
但问题仍然存在。这是转换为ANSI的正确方式吗?
发布于 2014-01-24 12:35:59
可能你有类似的
<%@page pageEncoding="ISO-8859-1"%>
这是官方拉丁语1。使用:
<%@page pageEncoding="Windows-1252"%>
它是带有一些特殊字符的Windows拉丁文-1。所有浏览器都将ISO-8859-1解释为Windows1252(也是MacOSX、Linux),而HTML5甚至规定了这种方式。只有java是严格的。
因此,您可以保留HTML:
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
当原始Unicode字符不能在输出字符集中表示时,就会给出问号。
如果角色仍然无法表示,请切换到"UTF-8“。这无疑是未来的动力,由多语种的世界,和目前的Unicode基础。
,因为这不是原因:检查CSV文件的编码。例如,使用JEdit。然后将编码添加到CSVReader构造函数中。
这确保了我们一开始就有正确的字符串。
https://stackoverflow.com/questions/21330218
复制相似问题