Вы открыли файл в Microsoft Excel и вместо читаемого текста увидели странные символы вроде Ðак ÑабоÑаÑÑ или �����? Это классическая проблема несовпадения кодировок — и она решается за 2-3 клика. В отличие от специализированных текстовых редакторов вроде Notepad++, в Excel нет прямого меню "Изменить кодировку", но есть скрытые инструменты для импорта и сохранения данных в нужном формате.
В 90% случаев кракозябры появляются при открытии файлов, созданных в других программах (например, экспортированных из 1С, MySQL или сохранённых в OpenOffice с кодировкой UTF-8). Реже проблема возникает при работе с CSV-файлами, где Excel по умолчанию использует Windows-1251 (ANSI) вместо UTF-8. В этой статье — все способы исправить кодировку, включая скрытый мастер импорта текста, который игнорируют даже опытные пользователи.
1. Почему Excel неправильно отображает кодировку?
Кракозябры в Excel — это не ошибка программы, а следствие конфликта между:
- 📁 Исходной кодировкой файла (например,
UTF-8,Windows-1251,KOI8-R) - 🖥️ Кодировкой, которую ожидает Excel (по умолчанию —
ANSIдля русского языка) - 🔄 Способом открытия файла (двойной клик vs. импорт через мастер)
Excel не умеет автоматически определять кодировку, как это делают браузеры или Notepad++. Вместо этого программа использует региональные настройки Windows. Например, если ваша система настроена на русский язык, Excel по умолчанию будет пытаться открыть файл в кодировке Windows-1251 — и если файл сохранён в UTF-8, символы исказятся.
Особенно часто проблема возникает с:
- 📊 Файлами
.csvи.txt, экспортированными из баз данных (MySQL, PostgreSQL) - 📄 Документами, созданными в OpenOffice Calc или LibreOffice
- 💾 Данными, полученными из веб-форм или API (обычно в
UTF-8)
2. Способ 1: Импорт данных через мастер текстов (100% рабочий метод)
Это самый надёжный способ исправить кодировку, который работает даже с сильно повреждёнными файлами. В отличие от двойного клика по файлу, мастер текстов позволяет вручную указать кодировку на этапе импорта.
Инструкция для Excel 2010–2026 и Microsoft 365:
- Откройте пустую книгу Excel.
- Перейдите на вкладку
Данные→Получить данные→Из файла→Из текстового/CSV-файла. - Выберите проблемный файл и нажмите
Импорт. - В открывшемся окне предварительного просмотра нажмите
Преобразовать данные. - В Power Query выберите столбец с кракозябрами → вкладка
Преобразование→Кодировка→ укажите нужную (например,1251: Кириллица (Windows)или65001: Unicode (UTF-8)). - Нажмите
Закрыть и загрузить.
Выберите пустую книгу Excel|Закройте все открытые файлы с кракозябрами|Убедитесь, что файл не заблокирован (нет ошибки "доступ запрещён")|Проверьте расширение файла (.csv, .txt, .prn)-->
Если в Power Query нет нужной кодировки, попробуйте альтернативный путь:
- Откройте файл через
Файл→Открыть→ выберите файл → нажмите стрелку рядом с кнопкойОткрыть→Открыть и восстановить. - В мастере импорта текста (откроется автоматически) на первом шаге выберите формат
С разделителямии кодировку1251: Кириллица (Windows)или65001: Unicode (UTF-8). - Нажмите
Готово.
3. Способ 2: Сохранение файла в другой кодировке
Если файл уже открыт (пусть и с кракозябрами), его можно сохранить в правильной кодировке:
- Нажмите
Файл→Сохранить как. - В поле
Тип файлавыберитеТекстовый файл CSV (*.csv). - Нажмите
Сервис(илиИнструментыв старых версиях) →Параметры веб-документа. - В разделе
Сохранениевыберите кодировку:- 🔹
Unicode (UTF-8)— для современных файлов - 🔹
Кириллица (Windows)— для старых систем
- 🔹
Важно: при сохранении в CSV Excel предложит сохранить только активный лист. Если данных много, предварительно скопируйте их на один лист.
Что делать, если в "Параметрах веб-документа" нет нужной кодировки?
В некоторых версиях Excel (например, 2016) список кодировок сокращён. В этом случае:
1. Сохраните файл как Текстовый файл (с разделителями табуляции) (*.txt).
2. Откройте его в Блокноте → Файл → Сохранить как → выберите кодировку UTF-8 или ANSI.
3. Откройте исправленный файл в Excel через мастер текстов (способ 1).
4. Способ 3: Использование Блокнота для конвертации
Если Excel упорно не хочет открывать файл правильно, промежуточным звеном может стать Блокнот Windows:
- Щёлкните правой кнопкой по файлу →
Открыть с помощью→Блокнот. - В Блокноте нажмите
Файл→Сохранить как. - В поле
Кодировкавыберите:- 🔹
UTF-8— если файл был вANSI - 🔹
ANSI— если файл был вUTF-8
- 🔹
file_fixed.csv) и откройте его в Excel.Преимущество этого метода — Блокнот показывает текущую кодировку файла в строке состояния (внизу окна). Если там написано UTF-8, а Excel открывает файл как ANSI, причина кракозябр очевидна.
5. Способ 4: Настройка региональных параметров Windows
Если все файлы открываются с кракозябрами, проблема может быть в системных настройках:
- Нажмите
Win + R, введитеintl.cplи нажмитеEnter. - Перейдите на вкладку
Дополнительно. - В разделе
Язык программ, не поддерживающих ЮникодвыберитеРусский. - Нажмите
OKи перезагрузите компьютер.
Эта настройка влияет на то, как Windows (и Excel) интерпретирует текст в не-Юникод программах. После изменения параметра попробуйте открыть проблемный файл заново.
⚠️ Внимание: Изменение региональных параметров может повлиять на отображение текста в других программах (например, в старых играх или 1С). Если после смены кодировки появились проблемы, верните настройку обратно.
6. Способ 5: Использование VBA для массового исправления кодировки
Если вам регулярно приходится исправлять кодировку в десятках файлов, макрос VBA сэкономит часы времени. Ниже скрипт для конвертации UTF-8 в Windows-1251:
Sub ConvertUTF8ToANSI()
Dim fd As FileDialog
Dim filePath As String
Dim content As String
Dim newContent() As Byte
Dim i As Integer
' Выбор файла
Set fd = Application.FileDialog(msoFileDialogFilePicker)
fd.Title = "Выберите файл для конвертации"
fd.Filters.Clear
fd.Filters.Add "Текстовые файлы", ".csv;.txt;*.prn"
If fd.Show = -1 Then
filePath = fd.SelectedItems(1)
' Чтение файла как UTF-8
Open filePath For Binary As #1
content = Input$(LOF(1), 1)
Close #1
' Конвертация в ANSI (Windows-1251)
newContent = StrConv(content, vbFromUnicode, 1251)
' Сохранение нового файла
Open filePath & "_fixed.txt" For Binary As #1
Put #1, , newContent
Close #1
MsgBox "Файл сохранён как " & filePath & "_fixed.txt", vbInformation
End If
End Sub
Как использовать:
- Нажмите
Alt + F11для открытия редактора VBA. - Вставьте код в новый модуль (
Insert → Module). - Запустите макрос (
F5) и выберите проблемный файл. - Результат будет сохранён с суффиксом
_fixed.txt.
⚠️ Внимание: Макрос работает только для файлов, изначально сохранённых вUTF-8. Если кодировка другая (например,KOI8-R), потребуется доработка скрипта.
Сравнение методов исправления кодировки в Excel
| Метод | Подходит для | Сложность | Сохраняет форматирование | Работает с большими файлами |
|---|---|---|---|---|
| Мастер текстов (способ 1) | CSV, TXT, PRN | ⭐⭐ | Нет | Да |
| Сохранение в другой кодировке (способ 2) | XLSX, CSV | ⭐ | Частично | Да |
| Блокнот (способ 3) | Текстовые файлы | ⭐ | Нет | Да (до 50 МБ) |
| Региональные настройки (способ 4) | Все файлы | ⭐⭐⭐ | Да | Да |
| VBA-макрос (способ 5) | Массовая обработка | ⭐⭐⭐⭐ | Нет | Да |
FAQ: Частые вопросы о кодировке в Excel
Почему при открытии CSV в Excel русские буквы превращаются в знаки вопроса?
Это происходит, потому что Excel по умолчанию открывает CSV-файлы в кодировке ANSI (Windows-1251 для русского языка), а ваш файл сохранён в UTF-8. Решение:
- Используйте мастер текстов (способ 1) и укажите кодировку
65001: Unicode (UTF-8). - Или откройте файл в Блокноте и сохраните его в
ANSI.
Как узнать, в какой кодировке сохранён мой файл?
Есть 3 надёжных способа:
- Блокнот: откройте файл → в строке состояния (внизу окна) будет указана кодировка.
- Notepad++: откройте файл → в меню
Кодировкитекущая будет отмечена точкой. - Командная строка: выполните команду
chcp(покажет текущую кодировку консоли), затемtype "имя_файла.csv"— если символы читаемы, кодировки совпадают.
Можно ли изменить кодировку по умолчанию в Excel?
Нет, в Excel нет настроек для изменения кодировки по умолчанию. Однако вы можете:
- 🔹 Настроить региональные параметры Windows (способ 4), чтобы Excel использовал нужную кодировку для новых файлов.
- 🔹 Создать шаблон книги с правильной кодировкой и использовать его для импорта данных.
- 🔹 Использовать VBA-макрос для автоматической конвертации при открытии файлов.
Почему после сохранения в UTF-8 Excel всё равно показывает кракозябры?
Это происходит из-за BOM-метки (байтового порядка) в UTF-8. Некоторые программы (например, 1С) не корректно обрабатывают файлы с BOM. Решение:
- Откройте файл в Notepad++.
- Перейдите в
Кодировки → Преобразовать в UTF-8 (без BOM). - Сохраните файл и откройте его в Excel через мастер текстов.
Как исправить кодировку в Excel Online?
В веб-версии Excel (Excel Online) нет инструментов для изменения кодировки. Ваши действия:
- Скачайте файл на компьютер.
- Исправьте кодировку любым из описанных способов (например, через Блокнот).
- Загрузите исправленный файл обратно в OneDrive или SharePoint.
Альтернатива: используйте Power Query Online (доступен в Excel для веба), чтобы импортировать данные с указанием кодировки.