Tôi đang sử dụng supercsv 2.1.0 để phân tích cú pháp tệp CSV với các từ tiếng Đức trong đó.Cách sử dụng mã hóa trong supercsv getHeader
Tệp CSV đã cho có tiêu đề ở dòng đầu tiên. Trong tiêu đề này, có một số nguyên âm đột biến như: Ä, ä, Ü, ö, v.v. Ví dụ: Betrag; Währung; Thông tin
Trong mã hóa của tôi, tôi đang cố gắng để có được những tiêu đề của csv như thế này:
ICsvBeanReader inFile = new CsvBeanReader(new InputStreamReader(new FileInputStream(file), "UTF8"), CsvPreference.EXCEL_NORTH_EUROPE_PREFERENCE);
final String[] header = inFile.getHeader(true);
Đây là vấn đề của tôi với các mảng tiêu đề. Tất cả tiêu đề có nguyên âm đột biến không được mã hóa chính xác bằng bộ ký tự utf8.
Có cách nào để tôi có thể đọc chính xác tiêu đề không?
Dưới đây là một thử nghiệm đơn vị giả:
public class TestSuperCSV {
@Test
public void test() {
String path = "C:\\Umsatz.csv";
File file = new File(path);
try {
ICsvBeanReader inFile = new CsvBeanReader(new InputStreamReader(
new FileInputStream(file), "UTF-8"),
CsvPreference.EXCEL_NORTH_EUROPE_PREFERENCE);
final String[] header = inFile.getHeader(true);
System.out.println(header[9]); //getting "W?hrung" but needed "Währung" here
} catch (UnsupportedEncodingException | FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Kind regards, Alex
Bạn đã thử sử dụng '" UTF-8 "' thay vì '" UTF8 "'? –
Không, "UTF-8" không khắc phục được sự cố –