Как преобразовать иероглифы в нормальный текст в Excel: полное руководство

Почему Excel показывает иероглифы вместо текста?

Вы открыли файл Excel, а вместо привычных букв и цифр — хаотичный набор китайских иероглифов, вопросительных знаков или странных символов? Эта проблема знакома многим пользователям, особенно при работе с данными из внешних источников. Чаще всего иероглифы в Excel появляются из-за несовпадения кодировок — программа пытается интерпретировать текст в одной кодировке (например, UTF-8), тогда как файл сохранён в другой (Windows-1251 или KOI8-R).

Другая распространённая причина — повреждение файла при передаче по электронной почте, загрузке с флешки или после преобразования из CSV в XLSX. Иногда виноваты даже настройки региональных стандартов в Windows, которые автоматически подменяют шрифты. В этой статье мы разберём 5 проверенных способов вернуть текст в читаемый вид — от простых настроек до продвинутых макросов.

Прежде чем приступать к исправлению, убедитесь, что проблема не в самом файле. Попробуйте открыть его на другом компьютере или в альтернативных программах вроде LibreOffice Calc или Google Sheets. Если иероглифы сохраняются — дело точно в кодировке или структуре данных.

Метод 1: Изменение кодировки при импорте CSV

Если иероглифы появились после импорта данных из CSV-файла, проблема почти наверняка в неправильно выбранной кодировке. Excel по умолчанию использует Windows-1252 (ANSI), тогда как многие российские системы работают с Windows-1251 или UTF-8. Вот как исправить:

  1. Закройте текущий файл Excel (не сохраняйте изменения!).

  2. Откройте пустую книгу и перейдите на вкладку Данные → Получение данных → Из файла → Из текстового/CSV-файла.

  3. Выберите ваш CSV-файл и нажмите Импорт.

  4. В окне предварительного просмотра кликните Преобразовать данные.

  5. В Power Query найдите колонку с иероглифами, выделите её и в меню Преобразование выберите Кодировка → Windows-1251 (или UTF-8, если первый вариант не сработал).

После применения изменений данные импортируются в нормальном виде. Если не уверены в кодировке, попробуйте варианты поочерёдно:

  • 🔹 Windows-1251 — стандарт для русскоязычных систем;
  • 🔹 UTF-8 — универсальная кодировка для веб и современных приложений;
  • 🔹 KOI8-R — устаревшая, но иногда встречается в старых базах;
  • 🔹 ISO 8859-5 — альтернатива для кириллицы.
📊 Какую кодировку вы чаще всего используете в работе?
Windows-1251
UTF-8
KOI8-R
Другую
Не знаю
⚠️ Внимание: Если при импорте в Power Query текст отображается корректно, но после загрузки в Excel снова превращается в иероглифы — проблема в настройках книги. Пересохраните файл в формате XLSX (не XLS!) и проверьте региональные настройки Windows.

Метод 2: Использование функции CHAR для ручного декодирования

Когда иероглифы появляются из-за сбоя в символьном представлении (например, вместо букв отображаются их коды), поможет функция CHAR. Этот метод подходит для текста, где каждый символ заменён на его числовой эквивалент в Unicode.

Предположим, в ячейке A1 вместо слова "Привет" вы видите набор чисел через запятую: 1055,1088,1080,1074,1077,1090. Чтобы декодировать его:

  1. В соседней ячейке (например, B1) введите формулу:

    =CHAR(ЛЕВСИМВ(A1;НАЙТИ(",";A1&",";1)-1))

    Эта формула извлекает первое число до запятой и преобразует его в символ.

  2. Протяните формулу вправо, заменяя ЛЕВСИМВ на ПСТР с соответствующими смещениями, чтобы захватить все числа.

  3. Объедините результаты функцией СЦЕПИТЬ или CONCAT.

Для автоматизации процесса можно использовать пользовательскую функцию VBA:

Function DecodeText(rng As Range) As String

Dim arr() As String

arr = Split(rng.Value, ",")

For i = LBound(arr) To UBound(arr)

DecodeText = DecodeText & Chr(Val(arr(i)))

Next i

End Function

Вставьте этот код в редактор VBA (Alt + F11), затем в ячейке используйте =DecodeText(A1).

Проверьте, что числа в ячейке разделяются запятыми|Убедитесь, что в тексте нет лишних пробелов|Сохраните резервную копию файла|Протестируйте формулу на копии данных-->

Метод 3: Макрос для массового исправления кодировки

Если иероглифы появились во всём файле или на большом листе, ручное исправление займёт часы. В этом случае поможет макрос на VBA, который автоматически перекодирует текст. Ниже приведён универсальный скрипт для конвертации из Windows-1251 в UTF-8 (и наоборот).

Как использовать:

  1. Нажмите Alt + F11, чтобы открыть редактор VBA.

  2. Вставьте новый модуль (Insert → Module) и скопируйте туда код:

Sub FixEncoding()

Dim rng As Range

Dim cell As Range

Dim text As String

' Выделите диапазон с иероглифами

Set rng = Selection

For Each cell In rng

If Not IsEmpty(cell) Then

' Конвертация из Windows-1251 в UTF-8

text = StrConv(cell.Value, vbFromUnicode)

text = StrConv(text, vbUnicode)

cell.Value = text

End If

Next cell

End Sub

Выделите диапазон с проблемными данными и запустите макрос (F5). Если результат неудовлетворительный, попробуйте заменить vbFromUnicode на vbUnicode или другие варианты из списка:

  • 🔹 vbUpperCase — для принудительного преобразования регистра;
  • 🔹 vbLowerCase — если символы отображаются в неправильном регистре;
  • 🔹 vbProperCase — для капитализации первых букв.
⚠️ Внимание: Макросы могут конфликтовать с защитой Excel. Перед запуском проверьте, что в Файл → Параметры → Центр управления безопасностью → Параметры центра управления безопасностью → Параметры макросов выбрано Включить все макросы (временно!). После исправления верните настройки обратно.

Метод 4: Использование внешних инструментов (Notepad++, Iconv)

Если Excel упорно не хочет корректно отображать текст, на помощь придут внешние программы. Один из самых надёжных способов — конвертация файла через Notepad++ или утилиту Iconv (для продвинутых пользователей).

Инструкция для Notepad++:

  1. Экспортируйте проблемный лист Excel в CSV (Файл → Сохранить как → Тип файла: CSV (разделители — запятые)).

  2. Откройте файл в Notepad++.

  3. Перейдите в меню Кодировки → Преобразовать в ANSI (или UTF-8 без BOM, если текст искажён после ANSI).

  4. Сохраните файл и импортируйте обратно в Excel (см. Метод 1).

Для утилиты Iconv (командная строка):

Если вы работаете с большими файлами, используйте команду:

iconv -f WINDOWS-1251 -t UTF-8 input.csv > output.csv

Где:

  • 🔹 -f WINDOWS-1251 — исходная кодировка;
  • 🔹 -t UTF-8 — целевая кодировка;
  • 🔹 input.csv — ваш файл;
  • 🔹 output.csv — результат.
Инструмент Преимущества Недостатки
Notepad++ Визуальный интерфейс, поддержка 50+ кодировок Не подходит для файлов >100 МБ
Iconv Обрабатывает гигабайтные файлы, гибкие настройки Требует знания командной строки
Excel Power Query Интеграция с Excel, предварительный просмотр Медленнее внешних инструментов

Метод 5: Восстановление шрифтов и региональных настроек

Реже, но встречаются случаи, когда иероглифы появляются из-за сбоя в шрифтах или региональных стандартах Windows. Это актуально, если:

  • 🔹 Файл открывается корректно на другом ПК;
  • 🔹 Проблема возникла после обновления Windows;
  • 🔹 В Excel отображаются квадратики вместо иероглифов.

Чтобы исправить:

  1. Проверьте региональные настройки: Пуск → Параметры → Время и язык → Регион. Убедитесь, что выбрана Россия (или ваш регион) и кодировка Windows-1251.

  2. Обновите шрифты: Параметры → Персонализация → Шрифты. Установите шрифты Arial Unicode MS и Lucida Sans Unicode (они поддерживают расширенные символы).

  3. Сбросьте настройки Excel:

    Удалите файл Excel.xlb (расположен в %AppData%\Microsoft\Excel\) — он хранит пользовательские настройки, которые могут конфликтовать с отображением.

Если после смены региональных настроек текст в Excel стал отображаться как "?????", верните настройки обратно и используйте Method 3 (макрос) — он обходит системные ограничения.

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

При работе с кодировками пользователи часто допускают типичные ошибки, которые усугубляют проблему. Вот что нельзя делать:

  • 🚫 Сохранять файл поверх оригинала без резервной копии. Иероглифы могут стать необратимыми, если перезаписать исходные данные.
  • 🚫 Использовать "Сохранить как" в той же кодировке. Например, сохранение UTF-8 файла как UTF-8 не исправит ошибку — нужно явно указать целевую кодировку.
  • 🚫 Копировать данные через буфер обмена между программами с разными кодировками (например, из в Excel). Используйте промежуточный TXT/CSV файл.

Также избегайте:

  • 🔸 Ручного перепечатывания текста — это неэффективно для больших объёмов.
  • 🔸 Использования онлайн-конвертеров для конфиденциальных данных (риск утечки).
  • 🔸 Применения функции ЗАМЕНИТЬ для "ручной" подмены символов — это не решит проблему кодировки.

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

Можно ли восстановить текст, если файл был сохранён с иероглифами?

Да, но успех зависит от того, как именно был сохранён файл. Если вы сохранили его в формате XLSX поверх оригинала, попробуйте:

  1. Открыть файл в 7-Zip (как архив) и извлечь файл xl/sharedStrings.xml — там могут храниться исходные данные.
  2. Использовать специализированные инструменты вроде OfficeRecovery или Stellar Repair for Excel.

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

Почему после конвертации в UTF-8 в Excel появляются знаки "�"?

Это признак того, что программа не может отобразить символы из-за:

  • Отсутствия поддерживающих шрифтов (установите Arial Unicode MS);
  • Неправильного BOM (байт-последовательности в начале файла). Попробуйте сохранить файл как UTF-8 без BOM;
  • Повреждения данных (например, битые байты в середине текста).
Как избежать проблем с кодировкой при экспорте из 1С?

Настройте экспорт в 1С следующим образом:

  1. В параметрах выгрузки выберите кодировку Windows-1251 (если работаете с кириллицей).
  2. Экспортируйте в CSV с разделителем ; (точка с запятой) — Excel лучше воспринимает такой формат.
  3. Отключите опцию "Сжимать пробелы" — она может искажать данные.

После выгрузки откройте файл через Power Query (см. Метод 1).

Помогает ли изменение расширения файла с .xls на .xlsx?

Нет, это не решит проблему с кодировкой. Формат XLSX (Excel 2007+) использует XML-структуру и UTF-8 по умолчанию, но простое переименование не конвертирует данные. Чтобы действительно сменить формат:

  1. Откройте файл в Excel.
  2. Выберите Файл → Сохранить как → Книга Excel (*.xlsx).
  3. Убедитесь, что в настройках сохранения выбрана кодировка UTF-8 (если доступно).
Какие альтернативные программы могут открыть файл без иероглифов?

Если Excel упорно искажает текст, попробуйте:

  • 🔹 LibreOffice Calc — лучше работает с UTF-8 и старыми кодировками;
  • 🔹 Google Sheets — автоматически определяет кодировку при загрузке CSV;
  • 🔹 Apache OpenOffice — поддерживает KOI8-R и другие редкие кодировки;
  • 🔹 Gnumeric — легковесная утилита для Linux/Windows с расширенными настройками импорта.