これは私の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 が修正することはできますか?