Получить/установить кодировку файла с помощью 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.