Я пытаюсь получить рабочий текстовый файл utf-8.Работая, я имею в виду, что он должен выглядеть правильно в Firefox и libreoffice.
Для записи я использую:
PrintWriter writer = new PrintWriter(savepath, "UTF-8");
Для чтения с Java я использую:
InputStreamReader isr = new InputStreamReader(new FileInputStream(loadpath), Charset.forName("UTF-8"));
BufferedReader br = new BufferedReader(isr);
При повторном чтении и отображении в java это корректно.
При использовании libreoffice или firefox (кодировка установлена в юникод) отображаются «бессмысленные» символы.
Пример текста:
C'est vrai (Java) The french "That's true" is shown correct
Cest vrai (firefox -set to unicode) the "'" becomes a square with "0092" inside
РЕДАКТИРОВАТЬ:
CÂ’est vrai (firefox -set to middle european (windows) encoding)
РЕДАКТИРОВАТЬ2:
writer.println("Cest vrai");
writer.flush();
https://imgur.com/a/CLL3eVK
РЕДАКТИРОВАТЬ 3: Хорошо, я попробовал это сейчас с
writer.println("C"+"\u0092"+" est vrai");
writer.flush();
Это приводит к (Firefox установлен в Unicode): https://imgur.com/qGRr9sC
В импорте libreoffice calc это выглядит даже немного иначе (квадрат пуст): https://imgur.com/MNQNDWo