Получить/установить кодировку файла с помощью javascript FileReader

Я борюсь со следующей проблемой. Используя javascript, я хотел бы изменить набор символов содержимого файла и отобразить этот контент для пользователя.

У меня есть вход: форма файла. При изменении я читаю содержимое

$('#form input:file').change(function(event){                   
   file = this.files[0];
   reader = new FileReader();
   reader.onload = function(event) {
      result = event.target.result.replace(/\n/g,'<br />');
      $('#filecontents').html(result);
   });
   reader.readAsText(file);
})

Файл находится в Windows-1251. Я хотел бы преобразовать содержимое файла в другую кодировку и после этого представить его пользователю.

Можно ли это сделать с помощью javascript?

Привет

Ответ 1

Если ваша HTML-страница находится в UTF-8, а ваш файл находится в ISO-8859-1.

Это работает:

 reader.readAsText(file, 'ISO-8859-1');

У меня нет файла Windows-1251, поэтому я не смог его протестировать, но похоже, что поддерживается "CP1251" (по крайней мере, Google Chrome), поэтому:

 reader.readAsText(file, 'CP1251');

Если ничего из этого не работает. Затем вы должны изменить форматирование вручную. К сожалению, я не знаю никакой библиотеки JavaScript, которая делает трюк.

Из unicode-отображения здесь и Delan Azabani answer вам следует создать функцию, которая преобразует char в char вашу строку в CP1251 в UTF-8.