я хотел бы написать слово в файле. Но кодировка не работает.
try {
Writer writer = new OutputStreamWriter(
new FileOutputStream("c:\\test\\fileutf8.txt"), "UTF-8");
BufferedWriter fout = new BufferedWriter(writer);
String s;
fout.write("STÖRUNG");
fout.newLine();
fout.close();
} catch (IOException e) {
e.printStackTrace();
}
введите описание изображения здесь Вывод в файле должен быть «STÖRUNG», но если я открою файл с помощью блокнота ++, будет установлена кодировка «Windows 1258».
Не знаю, в чем проблема. Можешь мне помочь?
Это может быть проблема с блокнотом ++. Попробуйте изменить кодировку вручную, и текст должен отображаться правильно. Я предполагаю, что notepad ++ ищет Знак порядка байтов UTF-8, и если он не найден (на самом деле это необязательно), предполагает кодировку ANSI / CP 1258.
@nicomp Я не уверен, что понимаю, что вы пытаетесь сказать.




Согласно Википедии, «UTF-8 является предпочтительной кодировкой для вьетнамского языка в современных приложениях». en.wikipedia.org/wiki/Windows-1258