转换为ANSI

时间:2014-01-24 10:27:05

标签: java jsp ansi

我有一个csv文件。我需要使用jsp在html表中显示csv文件内容。我用open 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

的正确方法吗?

1 个答案:

答案 0 :(得分:0)

可能你有像

这样的东西
<%@page pageEncoding="ISO-8859-1"%>

哪个是官方拉丁文-1。使用:

<%@page pageEncoding="Windows-1252"%>

Windows Latin-1中包含一些更特殊的字符。 所有浏览器都将ISO-8859-1解释为Windows-1252(也称为MacOSX,Linux),HTML 5甚至以这种方式规定它。只有java是严格的。

因此,您可以保留HTML:

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">

当原始Unicode字符无法在输出字符集中表示时,会给出问号。

如果角色仍然无法代表,请切换到“UTF-8”。在多语言世界和当前的Unicode基础的推动下,这绝对是未来。


因为这不是原因: 检查CSV文件的编码。例如JEdit。然后将编码添加到CSVReader构造函数。

这确保我们开始使用正确的字符串。