0

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

4

2 に答える 2