Открываете CSV от поставщика или банка, а там Товар вместо «Товар». Файл не сломан — он в другой кодировке. Разберёмся, как поменять кодировку в CSV и почему это вообще происходит.
Почему кракозябры
CSV — просто текст. Байты превращаются в буквы по таблице кодировки, и таблиц две:
- UTF-8 — стандарт в интернете и современных системах.
- Windows-1251 — «ANSI», привычная кодировка русской Windows и старых программ.
Если файл записан в UTF-8, а Excel читает его как 1251 (или наоборот) — каждый байт трактуется не по той таблице, и кириллица превращается в кракозябры. Латиница и цифры при этом выживают — поэтому файл выглядит «наполовину битым».
Способ 1. Блокнот
Самый быстрый для одного файла:
- Откройте CSV в «Блокноте» (Notepad).
- «Файл» → «Сохранить как».
- Внизу окна выберите кодировку UTF-8 (для старых систем — ANSI) → «Сохранить».
Если после смены кракозябры остались — вы угадали не ту исходную кодировку: откройте заново и попробуйте другую.
Способ 2. Импорт в Excel с выбором кодировки
«Данные» → «Получить данные» → «Из текстового/CSV-файла» → в предпросмотре выберите «Кодировка файла» (65001 = UTF-8, 1251 = Cyrillic Windows). Excel покажет результат до загрузки. Способ читает файл правильно, но не перекодирует его — файл на диске остаётся в старой кодировке.
Способ 3. Конвертер
Если файл нужно переслать дальше или загрузить в систему, которая ждёт конкретную кодировку, проще получить новый файл:


Конвертер сам определяет UTF-8, Windows-1251 и UTF-16 — на шаге структуры видно, какая кодировка опознана. На выходе либо XLSX, где понятия кодировки нет вовсе, либо CSV в UTF-8 с BOM — его и Excel открывает корректно, и системы понимают.
Частые вопросы
Что за BOM и зачем он?
Три невидимых байта в начале файла, которые говорят «я в UTF-8». Excel по умолчанию смотрит на них: файл UTF-8 без BOM русский Excel может прочитать как 1251 — и снова кракозябры. UTF-8 с BOM решает это.
Как понять, в какой кодировке файл?
Откройте в «Блокноте» и посмотрите на кириллицу: читается — значит, блокнот угадал, и внизу окна видно, какую кодировку он определил. Не читается — попробуйте сохранить в другой и посмотрите снова.
После перекодировки часть текста пропала
Так бывает, если файл был в экзотической кодировке (не UTF-8 и не 1251) и часть символов в неё не влезала. Источник проблемы — на стороне того, кто выгрузил файл; просите выгрузку в UTF-8.
А разделитель при этом при чём?
Ни при чём, но беды ходят парой: файл с запятыми-разделителями часто и в UTF-8 без BOM. Если у вас и кракозябры, и один столбец — читайте ещё статью про разделители в CSV.