Я не уверен, как мне найти кодировку файла. Я пытаюсь загрузить файл CSV только с помощью utf-8 и обнаруживаю, есть ли какие-либо символы, отличные от utf-8, я хочу показать сообщение об ошибке.
Я использую Papa persor для разбора.
Как я могу прочитать кодировку файла в java или js.
var fileElement = element.find('.csv-upload');
var file = fileElement[0].files[0]
var parseConfig = {
skipEmptyLines: true,
header: true,
encoding:'UTF-8',
trimHeaders: true,
complete: function (content) {
scope.onFileRead(content, fileElement[0]);
}
};
if (scope.rowsToParse) {
parseConfig.preview = scope.rowsToParse;
}
if (file) {
Papa.parse(file, parseConfig);
}



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


В файле CSV не будет информации о кодировке. Это просто последовательность байтов.
Вы должны заранее знать, содержит ли файл символы, отличные от UTF8, и какую кодировку файла следует использовать при его чтении.
Если вы используете Java (не уверены, потому что у вас есть тег Spring), вы можете использовать одну из предложенных здесь библиотек, чтобы попытаться определить тип файла.
Есть ли библиотека Java, эквивалентная команде файла в unix
Может, есть что-то подобное для Javascript.
Нет, нет. Команда unix file просто пытается вывести его из различных подсказок, в том числе анализируя его содержимое на предмет наличия специальных символов. computerhope.com/unix/ufile.htm Может быть, вы увидите, есть ли библиотека, которая делает то же самое.
Спасибо, что попытались ответить на мой вопрос. Думаю, есть кодировка даже в CSV файле. для проверки мы можем использовать
file -I "filename"