DocFlow

Имена файлов превратились в набор символов

Как это выглядит

Архив распаковался, файлы на месте и открываются, но названия превратились в бессмысленный набор символов. Найти нужный счёт по имени невозможно.

Коротко

Формат ZIP исторически не хранит информацию о том, в какой кодировке записаны имена файлов. Архиватор при распаковке угадывает — и на русских именах угадывает неверно. Содержимое файлов при этом не затронуто совсем.

Почему так происходит

  1. 01Кодировка имени не записана в архив

    Классический ZIP хранит имена байтами без указания кодировки. Архиватор на другой системе читает их по-своему, и кириллица рассыпается.

  2. 02Архив собран на другой операционной системе

    Особенно заметно при обмене между macOS и Windows: соглашения об именах разные, и русские названия страдают чаще всего.

  3. 03Имя обрезано по длине пути

    Отдельная беда: длинный путь плюс длинное имя дают ошибку распаковки или обрезанное имя. Проявляется на вложенных папках.

Как понять, что причина именно эта

Как починить

Распаковать с выбором кодировки

  1. 1.Откройте архив архиватором, умеющим задавать кодировку имён.
  2. 2.Выберите кириллическую однобайтовую кодировку и посмотрите предпросмотр списка файлов.
  3. 3.Распакуйте, когда имена в списке станут читаемыми.

не чинит: Не поможет, если архив собран с уже испорченными именами: тогда исходных названий в нём нет.

Ориентироваться на содержимое, а не на имя

  1. 1.Откройте файлы и переименуйте нужные по содержанию.
  2. 2.Для десятка документов это быстрее, чем разбираться с кодировками.

не чинит: На сотне файлов способ превращается в отдельную работу.

Попросить прислать иначе

  1. 1.Попросите отправителя переслать файлы без архива или назвать их латиницей.
  2. 2.Это убирает причину, а не следствие.

не чинит: Зависит от второй стороны и занимает время.

Когда мы не нужны

Имена файлов не имеют отношения к содержимому документов. Если счета открываются и читаются, разбор им не требуется из-за одних только названий — это задача на распаковку, а не на распознавание.

Что с этим делает наша выгрузка

При загрузке мы сохраняем исходное имя файла, заменяя на подчёркивание только служебные символы, недопустимые в имени: слэши, двоеточия, звёздочки, кавычки, угловые скобки и пробелы. Кириллицу мы не трогаем и не транслитерируем — русское название дойдёт до вас таким, каким было. Распаковкой архивов пилот не занимается: загружать нужно сами документы, принимаются PDF, JPEG и PNG.

Вопросы

Содержимое файлов пострадало?

Нет. Имя файла и его содержимое хранятся раздельно. Испорченное имя означает ровно испорченное имя.

Почему латинские имена не ломаются?

Латиница и цифры одинаково кодируются практически везде. Проблема возникает только там, где символ занимает больше одного байта.

Пилот · 1 990 ₽ за 30 дней

Если ошибка не в Excel, а в самих документах

Пилот на 30 дней: пришлите самый неудобный счёт, разберём вручную под ваш формат и вернём готовую таблицу.

Первый счёт разбираем вручную под ваш формат. Списание разовое, автопродления нет. Источник перехода: seo/oshibki/kirillica-v-imeni-faila.