Как изменить кодировку текста в Excel: 7 работающих способов для файлов CSV, TXT и XLSX

Возникли проблемы с отображением русского текста в Microsoft Excel? Вместо привычных букв вы видите кракозябры, иероглифы или вопросительные знаки? Это классическая проблема несовпадения кодировок — одна из самых распространённых ошибок при работе с текстовыми данными. Особенно часто она возникает при импорте файлов .csv, .txt или при открытии документов, созданных в других программах.

В этой статье вы найдёте 7 проверенных способов изменить кодировку текста в Excel — от базовых настроек импорта до продвинутых методов с использованием Power Query и VBA. Мы разберём решения для разных версий программы (2010, 2013, 2016, 2019, 365), а также для Excel Online и MacOS. Особое внимание уделим типичным ошибкам, из-за которых кодировка сбивается повторно, и дадим рекомендации по профилактике проблем.

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

Прежде чем исправлять проблему, важно понять её корень. В 90% случаев кракозябры в Excel появляются из-за конфликта кодировок — набора правил, по которым символы преобразуются в двоичный код. Вот основные причины:

  • 📁 Неправильный формат импорта: файл .csv или .txt сохранён в кодировке UTF-8, а Excel пытается открыть его как ANSI (или наоборот).
  • 🔄 Конвертация между системами: файл создан в Linux/MacOS (кодировка UTF-8), а открывается в Windows (по умолчанию Windows-1251).
  • 📥 Экспорт из внешних источников: данные выгружены из , MySQL или веб-сервисов с неверными настройками кодировки.
  • 🖥️ Региональные настройки ОС: если в системе установлен язык, отличный от русского, Excel может автоматически применять неподходящую кодировку.

Интересно, что в новых версиях Excel 365 и Excel 2019 проблема встречается реже благодаря улучшенной поддержке UTF-8. Однако в Excel 2010—2016 сбои кодировки — почти правило, особенно при работе с файлами, созданными на Mac или в Google Sheets.

⚠️ Внимание: Если вы работаете с файлами, содержащими конфиденциальные данные (например, клиентские базы), никогда не сохраняйте их в кодировке ANSI после исправления. Это может привести к потере символов при повторном открытии.

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

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

  1. Откройте Excel и перейдите на вкладку ДанныеПолучить данныеИз файлаИз текста/CSV.
  2. Выберите проблемный файл и нажмите Импорт.
  3. В окне предварительного просмотра кликните на выпадающий список Файловая кодировка (обычно стоит 1252: Windows (ANSI) по умолчанию).
  4. Попробуйте поочерёдно варианты:
    • 📌 65001: Unicode (UTF-8) — универсальный стандарт;
    • 📌 1251: Кириллица (Windows) — для файлов из Windows;
    • 📌 866: OEM Кириллица — для старых DOS-систем;
    • 📌 KOI8-R — если файл пришёл с Unix-систем.
  • После выбора кодировки текст в окне предварительного просмотра должен отобразиться корректно. Нажмите Загрузить.
  • Если текст по-прежнему отображается неверно, попробуйте другой вариант кодировки. В большинстве случаев помогает UTF-8 или Windows-1251.

    ☑️ Чек-лист для импорта CSV/TXT

    Выполнено: 0 / 5

    Способ 2: Конвертация кодировки через Блокнот (для Windows)

    Если импорт через Excel не помог, можно предварительно конвертировать файл в правильную кодировку с помощью стандартного Блокнота. Этот метод подходит для файлов .csv и .txt:

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

    Для Windows 10/11 также доступен расширенный Блокнот++, где можно увидеть текущую кодировку файла в строке состояния (внизу окна) и конвертировать её через меню КодировкиПреобразовать в UTF-8.

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

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

    1. Импортируйте файл через ДанныеПолучить данныеИз файлаИз текста/CSV.
    2. В окне Power Query выберите столбец с проблемным текстом, кликните правой кнопкой и выберите Заменить значения.
    3. В поле Найти введите символ кракозябры (например, ), а в поле Заменить на — правильную букву (например, а).
    4. Для массовой замены используйте ДополнительноЗаменить ошибки на пустое значение.
    5. Нажмите Закрыть и загрузить, чтобы применить изменения.

    Если проблема системная (например, все файлы из одного источника приходят в неправильной кодировке), можно создать шаблон Power Query и использовать его повторно. Для этого сохраните запрос через ДомашняяУправление параметрамиСохранить как шаблон.

    📊 Какую кодировку вы чаще всего используете в работе?
    UTF-8
    Windows-1251
    ANSI
    Не знаю, какая у меня кодировка
    Другую

    Способ 4: VBA-скрипт для автоматической конвертации кодировки

    Для пользователей, которые регулярно сталкиваются с проблемами кодировки, можно написать простой VBA-макрос. Он будет автоматически конвертировать текст в выбранной кодировке. Вот пример кода для преобразования из Windows-1251 в UTF-8:

    Sub ConvertEncoding
    

    Dim ws As Worksheet

    Dim rng As Range

    Dim cell As Range

    Dim text As String

    ' Выбираем активный лист

    Set ws = ActiveSheet

    ' Определяем диапазон с данными

    Set rng = ws.UsedRange

    ' Проходим по всем ячейкам

    For Each cell In rng

    If cell.Value <>"" Then

    ' Конвертируем из Windows-1251 в UTF-8

    text = StrConv(cell.Value, vbUnicode)

    cell.Value = text

    End If

    Next cell

    MsgBox"Конвертация кодировки завершена!", vbInformation

    End Sub

    Чтобы использовать этот скрипт:

    1. Нажмите Alt + F11, чтобы открыть редактор VBA.
    2. Вставьте код в новый модуль (InsertModule).
    3. Закройте редактор и запустите макрос через ВидМакросыConvertEncoding.
    ⚠️ Внимание: Перед запуском макроса обязательно сохраните резервную копию файла. Неправильная конвертация может привести к потере данных, особенно если в ячейках содержатся специальные символы (например, , ©).

    Способ 5: Онлайн-конвертеры кодировки (для экстренных случаев)

    Если у вас нет доступа к Excel или проблема возникла на чужом компьютере, можно воспользоваться онлайн-сервисами для конвертации кодировки. Вот проверенные инструменты:

    Сервис Поддерживаемые кодировки Ограничения
    Encoding.io UTF-8, Windows-1251, KOI8-R, ISO-8859-1 До 10 МБ, требует регистрации для больших файлов
    RapidTables ASCII, Hex, UTF-8, Base64 Только текст до 5000 символов
    2Cyber Decoder Windows-1251, KOI8-R, UTF-8 Работает только с русским текстом

    Как пользоваться онлайн-конвертерами:

    1. Скопируйте проблемный текст из Excel или загрузите файл.
    2. Выберите исходную и целевую кодировку (например, Windows-1251 → UTF-8).
    3. Скачайте или скопируйте исправленный текст обратно в Excel.

    Важно: онлайн-сервисы не гарантируют конфиденциальность данных. Не загружайте файлы с персональной информацией (паспорта, номера карт, медицинские данные).

    Способ 6: Настройка региональных параметров Windows для корректной работы Excel

    Если проблемы с кодировкой возникают системно (во всех файлах), причина может крыться в региональных настройках Windows. Вот как их проверить и исправить:

    1. Откройте Панель управленияЧасы и регионРегион.
    2. На вкладке Дополнительно убедитесь, что в поле Язык программы, не поддерживающей Юникод выбрано Русский.
    3. Перейдите на вкладку Административные и нажмите Изменить системную локаль.
    4. Поставьте галочку Beta: Использовать Юникод для поддержки языков во всём мире (доступно в Windows 10/11).
    5. Перезагрузите компьютер.

    Эти настройки заставят Windows и Excel по умолчанию использовать UTF-8 для текстовых файлов, что решит большинство проблем с кодировкой.

    Что делать, если после смены региональных настроек текст стал отображаться ещё хуже?

    Это происходит, если файл изначально был сохранён в кодировке, отличной от UTF-8. Верните старые настройки и попробуйте методы 1–3 из этой статьи.

    Способ 7: Исправление кодировки в Google Sheets (альтернатива Excel)

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

    1. Откройте Google Sheets и создайте новый файл.
    2. Перейдите в ФайлИмпортЗагрузить и выберите проблемный файл.
    3. В окне импорта выберите Заменить текущий лист и укажите разделитель (обычно Запятая для .csv).
    4. Нажмите Импортировать данныеGoogle Sheets автоматически подберёт кодировку.
    5. Скопируйте исправленные данные обратно в Excel (через ФайлСкачатьMicrosoft Excel (.xlsx)).

    Преимущество этого метода в том, что Google Sheets поддерживает UTF-8 по умолчанию и редко ошибается с кириллицей. Минус — требуется интернет и учётная запись Google.

    FAQ: Частые вопросы о кодировке в Excel

    Почему после сохранения в UTF-8 текст снова становится кракозябрами?

    Это происходит, если при сохранении файла в Excel вы не указали кодировку явно. Всегда используйте ФайлСохранить какИнструментыПараметры веб-документа и выбирайте UTF-8 вручную. В новых версиях Excel 365 эта опция доступна в окне сохранения.

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

    Откройте файл в Блокноте++ (или другом текстовом редакторе с поддержкой кодировок). Текущая кодировка отображается в строке состояния (внизу окна). Также можно использовать команду в PowerShell:

    Get-Content -Path"путь_к_файлу" -Encoding Byte -TotalCount 4

    Первые байты файла помогут определить кодировку (например, EF BB BF — сигнатура UTF-8).

    Можно ли автоматически конвертировать кодировку для всех файлов в папке?

    Да, для этого можно написать скрипт на Python или PowerShell. Пример на PowerShell:

    Get-ChildItem -Path"C:\путь_к_папке\*.csv" | ForEach-Object {
    

    $content = Get-Content $_.FullName -Encoding Default

    $content | Out-File $_.FullName -Encoding UTF8

    }

    Этот скрипт рекурсивно перекодирует все .csv файлы в папке в UTF-8.

    Почему в Excel 2010 нет опции UTF-8 при сохранении?

    В Excel 2010 поддержка UTF-8 ограничена. Чтобы сохранить файл в этой кодировке, сначала экспортируйте данные в .csv, затем откройте файл в Блокноте и сохраните с кодировкой UTF-8 (как описано в Способе 2).

    Как исправить кодировку в Excel для Mac?

    На MacOS алгоритм аналогичный, но с нюансами:

    1. Откройте файл через ДанныеИз текста.
    2. В окне импорта выберите Файловая кодировка: Unicode (UTF-8).
    3. Если текст отображается неверно, попробуйте Western (Mac OS Roman).

    Также можно использовать TextEdit для предварительной конвертации кодировки (аналог Блокнота на Windows).