Как изменить кодировку в Excel: 5 способов исправить кракозябры

Почему Excel неправильно отображает текст и как это исправить

Вы открыли файл CSV или TXT в Microsoft Excel, а вместо читаемого текста видите набор странных символов — "кракозябры"? Проблема кроется в несовпадении кодировок. Excel по умолчанию использует кодировку UTF-8 или Windows-1251, но если файл сохранён в другой (например, KOI8-R или ISO 8859-5), программа не может корректно интерпретировать символы.

Эта проблема особенно актуальна при работе с:

  • 📄 Файлами, экспортированными из , MySQL или других баз данных
  • 📊 Данными, полученными от контрагентов или государственных порталов (например, выписки из ФНС)
  • 🌍 Текстами на кириллице, созданными в старых версиях Windows (95/98/ME)
  • 📱 Файлами, переданными с MacOS или Linux-систем

В этой статье вы узнаете, как изменить кодировку при открытии файла, сохранить документ в нужной кодировке, а также что делать, если Excel упорно не хочет распознавать текст. Мы рассмотрим решения для Excel 2010–2019 и Microsoft 365, включая скрытые функции импорта данных.

📊 С какой кодировкой вы чаще всего сталкиваетесь в работе?
UTF-8
Windows-1251
KOI8-R
ISO 8859-5
Не знаю, какая у меня

Способ 1: Изменение кодировки при открытии файла (самый надёжный)

Если файл ещё не открыт или вы готовы повторить попытку, используйте мастер импорта текста. Это единственный способ, который гарантированно сработает даже с самыми "упрямыми" CSV/TXT.

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

Далее следуйте пошаговой инструкции:

  1. На 1-м шаге мастера выберите С разделителями (для CSV) или Фиксированная ширина (для TXT). Нажмите Далее.
  2. На 2-м шаге в выпадающем списке Формат файла попробуйте разные кодировки:
    • 🔹 Windows (1251) — для большинства русских файлов
    • 🔹 UTF-8 — универсальный стандарт
    • 🔹 DOS (866) — для старых систем
    • 🔹 KOI8-R — для файлов с Unix-систем
  • Если текст в окне предварительного просмотра стал читаемым — нажмите Далее и завершите импорт.
  • Убедитесь, что буквы "ё", "Ё", "ъ" отображаются корректно|

    Проверьте знаки препинания (кавычки, тире) — они не должны превращаться в "?"|

    Сравните цифры с разделителями (1 000 vs 1000)|

    Прокрутите файл до конца — иногда кодировка "сбивается" в середине-->

    Важно: Если ни одна кодировка не подходит, попробуйте открыть файл в Блокноте (Notepad), а затем скопировать текст в Excel вручную. Иногда это помогает с редкими кодировками вроде Mac Cyrillic.

    Способ 2: Сохранение файла в другой кодировке

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

    1. Перейдите в Файл → Сохранить как.
    2. В выпадающем списке Тип файла выберите Текстовый файл (с разделителями табуляции) (.txt) или CSV (разделители — запятые) (.csv).
    3. Нажмите кнопку Сервис (или Параметры в новых версиях) → Кодировка веб-страницы.
    4. Выберите одну из кодировок:
      • 📌 Юникод (UTF-8) — универсальный вариант
      • 📌 Кириллица (Windows) — для Windows-1251
      • 📌 Другие кодировкиKOI8-R или ISO 8859-5
  • Сохраните файл и откройте его заново.
  • Критическая деталь: при сохранении в UTF-8 Excel может добавить в начало файла метку BOM (байтовый порядок), которая ломает совместимость с некоторыми программами. Чтобы избежать этого, используйте Notepad++ или VS Code для повторного сохранения без BOM.

    Способ 3: Использование Power Query для исправления кодировки

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

    1. Перейдите на вкладку ДанныеПолучить данныеИз файлаИз текста/CSV.
    2. Выберите проблемный файл и нажмите Импорт.
    3. В окне предварительного просмотра Power Query в правом верхнем углу нажмите на выпадающий список Кодировка файла.
    4. Попробуйте варианты:
      • 🔄 1251: Кириллица (Windows)
      • 🔄 65001: Unicode (UTF-8)
      • 🔄 866: Кириллица (DOS)
  • Если текст стал читаемым, нажмите Преобразовать данныеЗакрыть и загрузить.
  • Преимущество Power Query в том, что он запоминает настройки: при следующем импорте файла с таким же именем кодировка применится автоматически.

    Что делать, если Power Query не виден?

    Если у вас Excel 2013 или старше, Power Query может быть отключён. Чтобы его активировать:

    1. Перейдите в Файл → Параметры → Надстройки.
    2. Внизу окна в выпадающем списке Управление выберите Надстройки COM и нажмите Перейти.
    3. Поставьте галочку напротив Microsoft Power Query for Excel и нажмите OK.

    После перезапуска Excel вкладка Power Query появится на ленте.

    Способ 4: Конвертация кодировки с помощью Блокнота или Notepad++

    Если Excel упорно не хочет распознавать кодировку, можно воспользоваться внешними программами. Этот метод подходит для одноразовой конвертации файлов.

    Вариант A: Стандартный Блокнот (Windows)

    1. Откройте файл в Блокноте (Notepad).
    2. Перейдите в Файл → Сохранить как.
    3. В выпадающем списке Кодировка выберите UTF-8 или ANSI (это Windows-1251).
    4. Сохраните файл под новым именем (например, файл_utf8.csv) и откройте его в Excel.

    Вариант B: Notepad++ (для сложных случаев)

    1. Откройте файл в Notepad++.
    2. В меню выберите Кодировки → Преобразовать в UTF-8 без BOM или Кодировки → Кириллица → Windows-1251.
    3. Сохраните файл (Ctrl+S).
    4. Почему Notepad++ лучше? Он поддерживает KOI8-R, ISO 8859-5 и другие редкие кодировки, отсутствующие в стандартном Блокноте. Кроме того, в нём есть функция автоопределения кодировки (Кодировки → Определить кодировку).

      Способ 5: Исправление кодировки через VBA-макрос

      Для пользователей, которые часто сталкиваются с проблемами кодировки, можно создать макрос, автоматически преобразующий текст. Этот метод требует базовых знаний VBA, но экономит время в долгосрочной перспективе.

      Вставьте этот код в редактор VBA (Alt+F11):

      Sub ConvertEncoding()
      

      Dim filePath As String

      Dim content As String

      Dim newContent As Byte()

      Dim i As Integer

      ' Укажите путь к файлу

      filePath = "C:\путь\к\вашему\файлу.csv"

      ' Чтение файла в бинарном режиме

      Open filePath For Binary As #1

      content = Space(LOF(1))

      Get #1, , content

      Close #1

      ' Преобразование из Windows-1251 в UTF-8

      newContent = StrConv(content, vbFromUnicode, 1251)

      newContent = StrConv(newContent, vbUnicode, 65001)

      ' Сохранение нового файла

      Open "C:\путь\к\новому_файлу_utf8.csv" For Binary As #2

      Put #2, , newContent

      Close #2

      MsgBox "Файл успешно преобразован!", vbInformation

      End Sub

      Чтобы адаптировать макрос под свою задачу:

      • 📝 Замените пути C:\путь\к\вашему\файлу.csv и C:\путь\к\новому_файлу_utf8.csv на актуальные.
      • 🔧 Измените кодировки в строках vbFromUnicode, 1251 и vbUnicode, 65001 (например, на 866 для DOS).
      • 🖱️ Запустите макрос нажатием F5.

    Таблица совместимости кодировок в Excel

    Чтобы не гадать, какую кодировку выбрать, воспользуйтесь этой таблицей. Она поможет подобрать правильный формат в зависимости от источника файла:

    Источник файла Рекомендуемая кодировка Альтернативные варианты Примечания
    1С:Предприятие 8.x Windows-1251 UTF-8, DOS-866 В новых версиях 1С используется UTF-8, но старые отчёты могут быть в 1251.
    Госуслуги, ФНС, ПФР Windows-1251 KOI8-R Файлы выписок часто приходят в 1251, но иногда — в KOI8-R.
    MacOS или Linux UTF-8 Mac Cyrillic Файлы с Mac могут содержать BOM, который ломает совместимость.
    Старые версии Windows (95/98/ME) DOS-866 Windows-1251 Для файлов, созданных в DOS-программах.
    Базы данных (MySQL, PostgreSQL) UTF-8 Windows-1251 Зависит от настроек сервера БД.

    Если ваш источник не указан в таблице, попробуйте UTF-8 — это универсальный стандарт, поддерживаемый большинством современных систем. Если не сработает — перебирайте варианты по порядку: Windows-1251DOS-866KOI8-R.

    Частые ошибки и как их избежать

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

    ⚠️ Внимание: Никогда не используйте Сохранить как → Веб-страница (*.html) для конвертации кодировки. Excel добавит в файл ненужный HTML-код, который испортит данные.

    Ошибка 1: Двойное преобразование

    Если вы уже однажды конвертировали файл из Windows-1251 в UTF-8, а затем снова пытаетесь изменить кодировку, текст может стать нечитаемым. Решение: всегда работайте с оригинальным файлом.

    Ошибка 2: Игнорирование BOM в UTF-8

    Некоторые программы (например, ) не могут прочитать CSV с меткой BOM. Решение: сохраняйте файл как UTF-8 без BOM (например, в Notepad++).

    ⚠️ Внимание: При экспорте данных из Excel в CSV для загрузки на сайт (например, в WordPress или OpenCart) всегда используйте UTF-8 без BOM. Иначе могут возникнуть ошибки импорта.

    Ошибка 3: Путаница с разделителями

    В CSV-файлах разделителем может быть не только запятая, но и точка с запятой (;) или табуляция. Если Excel неправильно разбивает данные по столбцам, проверьте символ-разделитель в настройках импорта.

    Ошибка 4: Редактирование файла в Word

    Microsoft Word автоматически заменяет прямые кавычки (") на «ёлочки» (“ ”), что ломает структуру CSV. Решение: используйте только Блокнот или Excel.

    FAQ: Ответы на частые вопросы

    Почему в Excel вместо букв отображаются вопросительные знаки (?)?

    Это означает, что программа не может распознать символ. Чаще всего проблема возникает при попытке открыть файл в UTF-8 как ANSI (или наоборот). Решение:

    1. Закройте файл.
    2. Откройте его через Мастер импорта текста (см. Способ 1).
    3. Попробуйте кодировки UTF-8 или Windows-1251.

    Если не помогает — файл мог быть повреждён при сохранении. Попробуйте восстановить его из резервной копии.

    Как узнать, в какой кодировке сохранён файл?

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

    • 🔍 Откройте файл в Notepad++ — кодировка отображается в строке состояния.
    • 🔍 В Linux/MacOS используйте команду file -i имя_файла.csv.
    • 🔍 Онлайн-сервисы вроде encoding.ru (загрузите файл для анализа).

    Если файл большой, проверяйте кодировку по первым 10–20 строкам — иногда она меняется в середине документа.

    Можно ли автоматизировать изменение кодировки для пакетной обработки файлов?

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

    • 🤖 PowerShell-скрипты (пример: Get-Content file.csv | Out-File -Encoding UTF8 file_utf8.csv)
    • 🤖 Python с библиотекой chardet для автоопределения кодировки.
    • 🤖 VBA-макросы (см. Способ 5).

    Для регулярной обработки рекомендуем использовать Python — он гибко обрабатывает ошибки и поддерживает все возможные кодировки.

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

    Это происходит из-за двойного преобразования. Например:

    1. Файл был в Windows-1251, но вы сохранили его как UTF-8.
    2. Затем вы снова открыли его в Excel, который интерпретировал UTF-8 как ANSI.

    Решение: всегда работайте с оригинальным файлом. Если он утерян — попробуйте открыть испорченный файл в Блокноте и вручную указать правильную кодировку при сохранении.

    Как настроить Excel, чтобы он всегда открывал CSV в UTF-8?

    К сожалению, в Excel нет встроенной настройки для этого. Но есть обходные пути:

    • 🔧 Используйте Power Query (см. Способ 3) — он запоминает настройки кодировки для конкретных файлов.
    • 🔧 Создайте шаблон VBA, который будет автоматически применять UTF-8 при открытии CSV.
    • 🔧 Настройте Notepad++ как программу по умолчанию для CSV, а затем конвертируйте кодировку перед открытием в Excel.