Как исправить кодировку в Excel: 5 способов убрать кракозябры в таблицах

Встречались ли вы с ситуацией, когда вместо читаемого текста в Excel отображаются странные символы вроде ÐазнÑÑе или �����? Это классическая проблема неверной кодировки, которая возникает при импорте данных из внешних источников — CSV-файлов, баз данных или веб-страниц. Причины могут быть разными: от несовпадения кодировок при сохранении до ошибок при экспорте из или других систем.

Многие пользователи ошибочно думают, что Excel «не умеет» работать с кодировками — но это не так. Программа поддерживает несколько форматов, просто их нужно правильно применить. В этой статье разберём, как изменить кодировку при открытии файла, сохранении, импорте данных и даже через Power Query — с пошаговыми инструкциями для версий Excel 2007–2023 и Microsoft 365.

⚠️ Важно: если вы работаете с файлами, созданными на Mac, проблема может быть связана с кодировкой UTF-8 с BOM — её Excel для Windows иногда интерпретирует неправильно. Об этом расскажем в отдельном разделе.

1. Почему в Excel появляются кракозябры: основные причины

Кракозябры (или «кракозябры») — это результат несовпадения кодировок при чтении и отображении текста. Вот типичные сценарии их появления:

  • 📁 Импорт CSV/TXT из внешних систем (, MySQL, веб-скрапинг) без указания правильной кодировки.
  • 💾 Сохранение файла в несовместимой кодировке (например, ANSI вместо UTF-8).
  • 🌐 Копирование данных из веб-страниц или PDF с нестандартной кодировкой (например, Windows-1251 для кириллицы).
  • 🔄 Обмен файлами между Windows и Mac — операционные системы по-разному обрабатывают UTF-8.

Самая распространённая ошибка — когда файл сохранён в UTF-8, а Excel пытается открыть его как ANSI (или наоборот). Например, если вы экспортировали данные из Google Sheets в CSV, а затем открыли в Excel без указания кодировки, кириллица превратится в набор непонятных символов.

⚠️ Внимание: в Excel 2003 и более ранних версиях поддержка UTF-8 ограничена. Если вы работаете со старыми файлами, придётся использовать обходные пути (о них расскажем ниже).

2. Как открыть файл с правильной кодировкой (способ для CSV/TXT)

Если кракозябры появляются при открытии текстового файла (CSV, TXT, PRN), нужно вручную указать кодировку. Вот пошаговая инструкция:

  1. Запустите Excel и выберите Файл → Открыть (или нажмите Ctrl+O).
  2. В диалоговом окне выделите нужный файл, но не открывайте его двойным кликом!
  3. Рядом с кнопкой Открыть нажмите на стрелку вниз и выберите Открыть с помощью → Мастер текстов (импорт).

Откроется Мастер импорта текста. На первом шаге:

  • Выберите С разделителями (для CSV) или Фиксированная ширина (для TXT с колонками).
  • Укажите кодировку файла в выпадающем списке. Для русского языка чаще всего подходит:
    • 📌 1251: Кириллица (Windows) — стандарт для Windows.
    • 📌 65001: Unicode (UTF-8) — универсальный формат.
    • 📌 866: Кириллица (DOS) — для старых систем.

На втором шаге мастер предложит выбрать разделитель (запятая, точка с запятой, табуляция). Для -выгрузок обычно используется ;.

На третьем шаге настройте формат данных для каждого столбца (текст, дата, число). Это поможет избежать ошибок с автоматическим преобразованием (например, когда Excel превращает артикулы в научную нотацию).

Убедиться, что файл не открыт в другом приложении

Проверить расширение (должно быть .csv, а не .csv.txt)

Выбрать правильную кодировку в Мастере импорта

Настроить разделители (чаще всего ; или ,)

Поменять формат столбцов с числами/датами на "Текст", если нужно сохранить ведущие нули-->

3. Сохранение файла Excel в нужной кодировке

Если вы редактируете файл и хотите сохранить его в определённой кодировке (например, для передачи коллегам или загрузки в другую систему), сделайте следующее:

  1. Перейдите в Файл → Сохранить как.
  2. В поле Тип файла выберите:
    • 📄 Текстовые файлы (разделители — табуляция) (*.txt) — для универсального обмена.
    • 📄 CSV (разделители — запятые) (*.csv) — самый распространённый формат.
    • 📄 CSV UTF-8 (разделители — запятые) (*.csv) — если нужна поддержка многобайтовых символов (китайский, арабский и др.).
  • Нажмите Сохранить. Появится предупреждение о возможной потере форматирования — подтвердите.
  • ⚠️ Внимание: при сохранении в CSV UTF-8 Excel добавляет BOM-метку (байтовый порядок), что может вызвать проблемы в некоторых системах (например, в Python-скриптах). Если это критично, используйте Notepad++ или VS Code для пересохранения файла без BOM.

    Для Excel 2016 и новее доступен формат CSV UTF-8 напрямую. В старых версиях (2010–2013) придётся использовать обходной путь:

    1. Сохраните файл как Unicode Text (*.txt).
    2. Откройте его в Блокноте и сохраните заново с кодировкой UTF-8.

    4. Исправление кодировки через Power Query (для опытных пользователей)

    Power Query — мощный инструмент Excel для трансформации данных, который умеет автоматически определять и исправлять кодировку. Это особенно полезно для регулярного импорта файлов с одинаковой структурой.

    Инструкция:

    1. Перейдите на вкладку Данные и выберите Получить данные → Из файла → Из текстового/CSV.
    2. Выберите файл и нажмите Импорт. Откроется окно предварительного просмотра.
    3. Если текст отображается неправильно, нажмите Трансформировать данные — откроется Power Query.
    4. В панели Домашняя выберите Расширенный редактор.
    5. Найдите строку с параметром Encoding и измените её на нужную кодировку, например:
      Encoding = 1251  // для Windows-1251
      

      или

      Encoding = 65001 // для UTF-8

    6. Нажмите Готово и загрузите данные в Excel.
    7. Преимущество этого метода — возможность автоматизировать процесс: однажды настроенный запрос будет корректно открывать файлы с той же кодировкой в будущем.

      Кодировка Числовой код в Power Query Когда использовать
      UTF-8 65001 Универсальный формат, подходит для многобайтовых символов (китайский, арабский).
      Windows-1251 1251 Стандарт для русского языка в Windows.
      Windows-1252 1252 Для западноевропейских языков (английский, немецкий).
      UTF-16 1200 Используется для внутренней обработки в Excel, редко нужен для экспорта.

      UTF-8

      Windows-1251

      Windows-1252

      Другую (напишите в комментариях)-->

      5. Особенности работы с кодировками в Excel для Mac

      Пользователи Mac часто сталкиваются с проблемами при обмене файлами с Windows-версией Excel. Основная причина — разное поведение с UTF-8:

      • 🍎 На Mac Excel по умолчанию сохраняет CSV в UTF-8 с BOM.
      • 🪟 На Windows та же кодировка может читаться неправильно (появляются лишние символы в начале строк).

    Решения:

    1. Для Mac-пользователей: перед отправкой файла на Windows откройте его в TextEdit и сохраните как UTF-8 без BOM.
    2. Для Windows-пользователей: если получил файл с Mac, откройте его через Мастер текстов (как описано в разделе 2) и выберите кодировку 65001: Unicode (UTF-8).

    Критическая особенность: в Excel для Mac 2016 и новее при сохранении в CSV UTF-8 автоматически добавляется BOM, даже если её нет в оригинальном файле. Это может сломать автоматизированные процессы (например, загрузку в ).

    Как удалить BOM из CSV без сторонних программ?

    1. Откройте файл в Блокноте (на Windows) или TextEdit (на Mac).

    2. Скопируйте всё содержимое (кроме первой пустой строки, если она есть).

    3. Создайте новый файл и вставьте данные.

    4. Сохраните с кодировкой UTF-8 без BOMБлокноте для этого нужно выбрать ANSI как промежуточный формат, затем конвертировать в UTF-8 через Notepad++).

    6. Альтернативные способы: конвертация через внешние инструменты

    Если Excel упорно не хочет корректно открывать файл, можно воспользоваться сторонними программами:

    • 📝 Notepad++:
      1. Откройте файл в Notepad++.
      2. Перейдите в Кодировки → Преобразовать в ANSI или Преобразовать в UTF-8.
      3. Сохраните файл и откройте его в Excel.
  • 🐍 Python (для автоматизации):
    import pandas as pd
    

    df = pd.read_csv('file.csv', encoding='cp1251') # для Windows-1251

    df.to_csv('file_fixed.csv', encoding='utf-8', index=False)

  • 🌐 Онлайн-конвертеры (например, encoding.tools) — удобно для разовых задач.
  • ⚠️ Внимание: при конвертации через Notepad++ или онлайн-сервисы следите за разделителями. Некоторые инструменты могут заменить запятые на точки с запятой или наоборот, что испортит структуру CSV.

    Если вам регулярно приходится работать с проблемными файлами, рассмотрите установку надстроек для Excel, таких как:

    • Kutools for Excel — имеет встроенный конвертер кодировок.
    • ASAP Utilities — позволяет массово изменять кодировку в выделенных ячейках.
    • 7. Частые ошибки и как их избежать

      Даже опытные пользователи иногда допускают ошибки при работе с кодировками. Вот самые распространённые:

      Ошибка Причина Решение
      Кракозябры при открытии CSV Неверная кодировка в Мастере импорта Попробуйте 1251, 65001 или 866
      Лишние символы в начале строк () BOM-метка в UTF-8 Удалите первые 3 байта в hex-редакторе или сохраните без BOM
      Числа превращаются в даты Автоформатирование Excel Перед импортом поменяйте формат столбца на "Текст"
      Русский текст отображается как ???? Файл сохранён в ASCII Пересохраните в UTF-8 или Windows-1251

      Ещё одна типичная проблема — потеря данных при сохранении. Например, если в ячейке был текст с апострофами или кавычками, а при сохранении в CSV они исчезли. Это происходит из-за того, что Excel экранирует специальные символы. Чтобы избежать потерь:

      • Перед сохранением замените " на "" (двойные кавычки).
      • Используйте формат TXT с табуляцией вместо CSV.
      • FAQ: Ответы на частые вопросы

        Можно ли в Excel поменять кодировку уже открытого файла?

        Нет, Excel не умеет менять кодировку "на лету". Чтобы исправить кракозябры, нужно:

        1. Экспортировать данные в TXT/CSV с правильной кодировкой.
        2. Закрыть файл и открыть его заново через Мастер текстов.

      Или скопировать данные в новый файл, предварительно убедившись, что кодировка источника и приёмника совпадает.

      Почему при сохранении в CSV русские буквы превращаются в знаки вопроса?

      Это происходит, если файл сохранён в кодировке, не поддерживающей кириллицу (например, ASCII или Windows-1252). Решение:

      • Сохраните файл как CSV UTF-8Excel 2016+).
      • Или выберите Текстовый файл (табуляция) и укажите кодировку 1251.
      Как узнать, в какой кодировке сохранён файл?

      Есть несколько способов:

      • Откройте файл в Notepad++ — кодировка отображается в строке состояния.
      • Используйте команду в PowerShell:
        Get-Content -Encoding Byte -TotalCount 4 "file.csv" | Format-Hex

        (первые байты подскажут кодировку: EF BB BF — UTF-8 с BOM, FF FE — UTF-16).

      • Загрузите файл на сервис encoding.tools.
      Можно ли автоматизировать исправление кодировки для пакетной обработки файлов?

      Да, для этого подойдут:

      • PowerShell-скрипт:
        Get-ChildItem *.csv | ForEach-Object {
        

        $content = Get-Content $_ -Encoding Default

        $content | Out-File $_ -Encoding UTF8 -Force

        }

      • Python с библиотекой pandas: обработайте все файлы в папке циклом.
      • Надстройка Kutools: позволяет массово конвертировать кодировки в выделенных файлах.
      Почему в Excel для Mac нет опции "CSV UTF-8" при сохранении?

      В Excel для Mac до версии 2016 опция CSV UTF-8 отсутствует. Обходные пути:

      1. Сохраните файл как Текстовый файл с разделителями табуляции, затем конвертируйте в UTF-8 через TextEdit.
      2. Используйте Numbers (встроенный табличный редактор Mac), который корректно экспортирует в UTF-8.