这是我的java代码
(而且整个项目都有UTF-8编码)
public static ArrayList<ArrayList<String>> getCSVContent(String filepath) throws Exception {
CSVReader reader = new CSVReader(new FileReader(filepath));
ArrayList<ArrayList<String>> array = new ArrayList<ArrayList<String>>();
String[] nextLine;
while ((nextLine = reader.readNext()) != null) {
ArrayList<String> list = new ArrayList<String>();
for (int i = 0; i < nextLine.length; i++) {
list.add(nextLine[i]);
}
array.add(list);
}
reader.close();
return array;
}
这是我的 CSV 文件:
Place1 ул. "Цанко Церковски" No37 Category1 bar Bulgaria Sofia 310-808-5243
Place 2 ул."Ген. Гурко" No 6 Category2 bar Bulgaria Sofia 415-846-1688
Place 3 ул. "Гео Милев" No 18 Category3 bar Bulgaria Sofia 720-318-9049
这是输出
而不是ул。例如“Цанко Церковски”No37
我得到:��。��������, ��. ����������������������</p>
它可能与 CSV 文件的编码有关,但我不确定如何查看/更改它以及是否应该使用 Word 或 Open Office?
另外,我可以更改 Java 读取此类文件的方式,以便即使它们的编码错误,Java 也会修复它?