Tôi đang sử dụng mã này cho thêm từ Ba Tư vào một tập tin csv qua OpenCSV:thiết lập một UTF-8 trong java và csv tập tin
String[] entries="\u0645 \u062E\u062F\u0627".split("#");
try{
CSVWriter writer=new CSVWriter(new OutputStreamWriter(new FileOutputStream("C:\\test.csv"), "UTF-8"));
writer.writeNext(entries);
writer.close();
}
catch(IOException ioe){
ioe.printStackTrace();
}
Khi tôi mở dẫn đến tập tin csv, trong Excel, nó chứa "कỶờịỆ". Các chương trình khác như notepad.exe không có vấn đề này, nhưng tất cả người dùng của tôi đang sử dụng MS Excel.
Thay thế OpenCSV bằng SuperCSV không giải quyết được sự cố này.
Khi tôi nhập chữ Hán vào tệp csv theo cách thủ công, tôi không gặp bất kỳ sự cố nào.
Chắc chắn là bản sao chính xác. Tôi chỉ cố gắng vấn đề này với các giải pháp từ liên kết ở trên (sử dụng một BOM để làm cho Excel đọc trong UTF-8) và nó giải quyết vấn đề này. Ngoài ra, dường như sử dụng UTF-16 hoạt động tốt để buộc Excel đọc CSV không phải trong ASCII. –
Có một liên kết hữu ích tương tự như bài đăng của AlexR! http://weblogs.java.net/blog/joconner/archive/2010/03/24/writing-csv-files-utf-8-excel – Hamedz