#download
#Скачать
Вопрос:
Когда я пытаюсь открыть и сохранить загруженный файл csv, excel заменяет запятые табуляциями. ОК. Но не для всех файлов.
Пользователи моего веб-приложения могут загружать 2 разных файла csv (один для сценария ошибки, а другой для успеха). Оба имеют одинаковый формат. Обе загрузки обрабатываются почти одинаковым кодом на сервере, содержат похожие заголовки HTTP-ответов, включая типы контента. Я ожидаю, что пользователь исправит файл с ошибкой, сохранит и загрузит. но когда они сохраняют (Ctrl S) с помощью Excel, он просто заменяет запятые на вкладки.
Вот странность: этого не происходит для файла успеха. Когда я нажимаю Ctrl S на файл успеха, он отлично сохраняется.
Примечание :
- Оба файла имеют одинаковый формат. Я даже попробовал вариант использования, когда файлы ошибок и ошибок идентичны. Сравнивается с использованием Winmerge, и они одинаковы, включая пробелы
- Если вы просто откроете и сохраните файл с ошибкой с помощью текстового редактора один раз, после этого Excel отлично обработает файл. Не удаляет запятые при сохранении.
- типы mime для файлов такие же, как и для вывода file -I ( текст / обычный; кодировка = us-ascii ). Заголовки ответов и типы содержимого во время загрузки одинаковы (текст / csv)
- происходит со всеми браузерами, как в Windows, так и в macOS.
Вот примеры файлов.Вы должны иметь возможность загружать их и воспроизводить ошибку. Они тоже идентичны.
Ответ №1:
Основная причина, которую мы обнаружили, заключается в том, что BOM (byte object marker) имеет значение UTF-8 в файле успеха, но не в файле ошибки. Странно, почему это вызвало эту проблему.