Чтение файлов ANSI в API доступа к веб-файловой системе
Я пытаюсь получить файлы с помощью API доступа к файловой системе, и он хорошо работает с использованием этого кода:
function Process_Files(files) {
[].map.call(files, async function (file, i) {
if (isDataFile(file.name)) {
let fileText = await file.text();
let filePath = await file.webkitRelativePath;
ProcessFileContents(await fileText,await filePath);
}
})
}
function DirectoryChose(event) {
let files;
event.stopPropagation();
event.preventDefault();
if (event.type === "change") {
files = event.target.files;
}
if (files) {
Process_Files(files)
}
}
dropArea.addEventListener("change", DirectoryChose);
проблема в том, что когда у нас есть файл в кодировке ANSI, тогда немецкие символы, такие как Ö, Ü и Ä, становятся , в то время как он отлично работает с файлами в кодировке UTF-8.
Мне все равно не удалось найти файлы для чтения с помощью
file.text()
в коде ANSI
Спасибо за помощь
1 ответ
Вам нужно использовать
// fileOrBlob is a File or a Blob :-)
const fileReader = new FileReader();
fileReader.readAsText(fileOrBlob, 'windows-1252');
Единственное, на что следует обратить внимание, это то, что вам нужно знать кодировку заранее. Если вы не укажете кодировку, предполагается UTF-8.