Java 如何在linux上将windows保存的csv转换为Web服务器
问题是我有一个用瑞典字母åäääÄä导出的windows excel CSV。当我上传它们并转换成字符串时,我把这些字母完全弄乱了。服务器是linux上的tomcat7。它被设置为使用iso-8859-1 我尝试了不同的byte[]转换,但似乎都不起作用。我已经从这段代码中删除了我尝试过的所有转换Java 如何在linux上将windows保存的csv转换为Web服务器,java,jsf,csv,Java,Jsf,Csv,问题是我有一个用瑞典字母åäääÄä导出的windows excel CSV。当我上传它们并转换成字符串时,我把这些字母完全弄乱了。服务器是linux上的tomcat7。它被设置为使用iso-8859-1 我尝试了不同的byte[]转换,但似乎都不起作用。我已经从这段代码中删除了我尝试过的所有转换 public void run(InputStreamReader is) { BufferedReader br = null; String line = "";
public void run(InputStreamReader is) {
BufferedReader br = null;
String line = "";
String cvsSplitBy = ";";
try {
br = new BufferedReader(is);
while ((line = br.readLine()) != null) {
// use comma as separator
String[] playerInfo = line.split(cvsSplitBy);
System.out.println("Förnamn: " + playerInfo[0]
+ "Efternamn: " + playerInfo[1]
+ "Klubb= " + playerInfo[7]
+ " , datum=" + playerInfo[10]
+ " , Total= " + playerInfo[14]
+ " , serier= " + playerInfo[15]);
saveInfo(playerInfo);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (br != null) {
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
System.out.println("Done");
}
使用
读取器时,可以指定编码。Windows默认情况下可能使用Windows-1252,因此请尝试使用fge所说的方法,确保您的StreamReader输入参数是使用正确的编码创建的(请告诉我们您是如何创建的?)is=file.getInputstream();isr=新的InputStreamReader(is,“windows-1252”);