Кракозябры в письмах и выгрузках: откуда берутся нечитаемые символы

Приходит письмо о новой заявке, а вместо имени клиента — набор непонятных символов. Или загрузили прайс от поставщика, и в каталоге вместо названий товаров появились строки из вопросительных знаков и латинских букв с надстрочными значками. Или сайт открывается нормально, а при поиске по нему ничего не находится, хотя товар точно есть.
Всё это — одна и та же проблема, которая называется несовпадением кодировки. Выглядит она пугающе, потому что текст становится совершенно нечитаемым, но чинится почти всегда просто, если понимать, откуда берётся.
Разберём без технических подробностей, что происходит, почему это до сих пор случается и что делать в каждом типичном случае.
Что вообще такое кодировка
Компьютер не хранит буквы. Он хранит числа. Кодировка — это таблица соответствия: какое число какой букве отвечает.
Проблема в том, что таких таблиц исторически было много. Для русского языка их существовало несколько, и они несовместимы между собой: одно и то же число в разных таблицах означает разные буквы.
Дальше происходит вот что. Программа записала текст по одной таблице. Другая программа прочитала его по другой. Числа те же, а буквы получились другие — отсюда и нечитаемый набор символов.
Сегодня есть общепринятый стандарт, который вмещает все алфавиты мира сразу, и все новые системы работают на нём. Но старые файлы, старые системы учёта, старые выгрузки и старые сайты продолжают жить в прежних таблицах. Именно на стыке нового и старого и возникают проблемы.
Где это встречается чаще всего
Выгрузки из товароучётных систем. Классика. Программа складского учёта выгружает файл в старой таблице, сайт читает его как современный. В результате в каталоге появляются нечитаемые названия товаров.
Прайсы от поставщиков. Каждый поставщик выгружает по-своему. Один файл читается нормально, следующий — нет.
Письма о заявках. Форма на сайте отправляет письмо, но не указывает, в какой кодировке оно написано, либо указывает неверно. Почтовая программа читает по умолчанию, и текст ломается.
Импорт списков. Загрузка адресов для рассылки, загрузка контактов, загрузка остатков.
Старые страницы после переезда. Сайт перенесли на новую систему или новый сервер, часть страниц читается, часть — нет.
Имена файлов. Загруженный документ с русским названием превращается в нечитаемый набор символов, а иногда и вовсе перестаёт открываться.
Обмен с внешними сервисами. Передача данных в систему учёта, приём данных из сторонних сервисов.
Как выглядят разные типы поломки
По внешнему виду искажения обычно можно понять, что произошло.
Знаки вопроса вместо букв. Обычно означает, что текст прошёл через систему, которая вообще не умеет работать с русскими буквами, и заменила их заглушками. Это худший случай: данные потеряны безвозвратно, восстановить исходный текст уже нельзя.
Латинские буквы с надстрочными значками. Текст в современной кодировке прочитали как текст в старой. Обратимо: достаточно прочитать правильно.
Набор заглавных латинских букв и символов. Обратная ситуация: старый текст прочитали как современный. Тоже обратимо.
Ромбики с вопросительным знаком внутри. Программа поняла, что байты не складываются в осмысленные символы, и показала заглушки. Обычно обратимо, если работать с исходным файлом, а не с тем, что уже отобразилось.
Половина текста читается, половина нет. Обычно означает, что файл собран из кусков в разных кодировках, либо часть данных прошла двойное преобразование.
Практический вывод: если искажение выглядит как «странные символы», данные почти всегда можно восстановить из исходного файла. Если как «знаки вопроса» — исходник нужен обязательно, потому что из показанного восстановить нечего.
Что делать с выгрузками и прайсами
Самый частый случай, поэтому разберём подробнее.
Шаг первый: определить кодировку исходного файла. Открыть файл в текстовом редакторе, который умеет показывать кодировку, и посмотреть. Многие редакторы определяют её автоматически.
Шаг второй: пересохранить в нужной. Если сайт ждёт современный стандарт, а файл в старом — пересохранить с явным указанием кодировки. Это делается в том же редакторе или средствами таблиц.
Шаг третий: проверить настройки выгрузки. Правильное решение — не пересохранять каждый раз вручную, а настроить выгрузку так, чтобы она сразу отдавала нужный формат. В большинстве учётных систем этот параметр есть.
Шаг четвёртый: договориться с поставщиком. Если файл приходит от поставщика, проще один раз попросить его выгружать в нужном формате, чем чинить каждый месяц.
Шаг пятый: настроить преобразование на приёме. Если менять источник невозможно, преобразование настраивается на стороне сайта: файл автоматически приводится к нужному виду перед загрузкой.
Отдельная тонкость с таблицами: при сохранении файла разделённого запятыми из табличного редактора кодировка часто выставляется по умолчанию системная, а не современная. Это стандартная ловушка при работе с прайсами. Решение — сохранять с явным выбором кодировки.
Что делать с письмами о заявках
Если ломается текст в уведомлениях о новых обращениях, причина обычно в одном из трёх мест.
Форма на сайте не указывает кодировку. Тогда почтовая программа гадает. Лечится явным указанием в служебных полях письма.
Сайт и почтовый обработчик работают в разных кодировках. Текст записывается в одной, отправляется в другой.
Тема письма закодирована неправильно. Характерный признак: сам текст письма читается, а тема — нет. Заголовки письма кодируются по особым правилам, и их часто настраивают неверно.
Проверить просто: отправьте тестовую заявку с русским текстом и посмотрите, что придёт. Если ломается только тема — дело в заголовках. Если весь текст — в настройках отправки.
Это не косметика: письмо с нечитаемой темой часто попадает в спам, а нечитаемое имя клиента приводит к тому, что менеджер не знает, как обратиться, и обращение обрабатывается хуже.
Как это связано с продвижением 3 в 1
Проблема техническая, но последствия для потока обращений вполне ощутимые.
Поиск. Страница с нечитаемым текстом бесполезна для поисковых систем: они не могут разобрать содержание и не показывают её людям. Если после переезда часть каталога стала нечитаемой, эти товары просто исчезают из результатов поиска. Отдельно про нейропоиск: он строится на понимании текста, и сломанный текст не даёт ничего. Проверять состояние страниц после любого переноса нужно обязательно — не только визуально, но и через Яндекс.Вебмастер, где видно, как страницы читаются роботом.
Яндекс.Справочник. При выгрузке данных в карточку компании в Яндекс Картах и Яндекс Бизнесе — например, списка услуг или товаров — искажённые названия попадают туда же. Карточка с нечитаемыми позициями выглядит заброшенной и теряет обращения.
2ГИС. То же самое при передаче данных в карточку приложения.
И общий момент: письмо с искажённым именем клиента — это ухудшение обработки заявки, а значит, потеря части обращений на последнем шаге, когда всё уже сделано правильно.
Имена файлов и адреса страниц
Отдельная область, где проблема встречается регулярно.
Загруженные файлы с русскими именами. Документ «Инструкция по монтажу.пдф» после загрузки на сервер может превратиться в набор символов и перестать открываться. Причина — разные правила обработки имён в разных системах.
Решение простое и надёжное: называть файлы латиницей. Не потому, что русские имена запрещены, а потому что они создают проблемы на стыке систем — при переносе, при архивировании, при передаче по почте.
Адреса страниц. То же правило: адрес страницы пишется латиницей. Русские буквы в адресе работают, но при копировании превращаются в длинную нечитаемую строку, которую неудобно вставлять в рекламу, в карточки на картах или отправлять в переписке.
Архивы. При распаковке архива, созданного в другой системе, русские имена файлов часто ломаются. Если вы регулярно обмениваетесь архивами — договоритесь о латинских именах.
Проверка после переноса сайта
Кодировка — один из главных пунктов чек-листа при переезде на новый сервер или новую систему управления.
Что проверять:
- открыть по несколько страниц каждого типа: главную, услугу, статью, карточку товара, страницу категории;
- проверить поиск по сайту с русским запросом;
- проверить фильтры каталога;
- отправить тестовую заявку и посмотреть письмо;
- проверить административную часть: названия элементов, комментарии, служебные записи;
- проверить выгрузки и обмен с учётной системой;
- проверить старые загруженные файлы;
- проверить данные в базе, а не только на страницах.
Последний пункт важен: иногда страницы отображаются нормально за счёт настроек показа, а в базе данные уже испорчены. Обнаруживается это позже, при следующем переносе, когда восстановить уже сложно.
Похожие проблемы, которые путают с кодировкой
Иногда текст выглядит неправильно, но причина совсем другая. Полезно уметь отличать.
Не установлен шрифт. Символы отображаются квадратиками или подставляются другим шрифтом. Отличие от кодировки: сам текст читается, просто выглядит непривычно. Лечится настройками оформления, а не перекодировкой.
Служебные последовательности вместо символов. Вместо кавычек и тире появляются конструкции с амперсандом и точкой с запятой. Это не кодировка, а двойное преобразование специальных символов — обычно результат того, что текст прогнали через обработку дважды.
Неразрывные пробелы, вставленные из документа. При копировании из текстового редактора вместе с текстом переносятся невидимые символы, которые ломают перенос строк и мешают поиску по сайту. Выглядит как «текст не находится, хотя он есть».
Лишние символы форматирования. Скопированный из документа текст тащит за собой служебную разметку. На странице это проявляется странными отступами и шрифтами.
Разные виды кавычек и дефисов. Не поломка, но при поиске по каталогу приводит к тому, что товар не находится: в базе один символ, в запросе другой.
Обрезанный текст. Если поле в базе ограничено по длине, а текст длиннее, он обрежется — иногда посреди символа, и последний знак станет нечитаемым. Признак характерный: искажён только конец строки.
Различить просто: если непонятны все русские буквы — это кодировка. Если проблема точечная, в отдельных символах или только в оформлении — причина в другом.
Профилактика
Правила, которые снимают проблему почти полностью.
- Везде использовать современный универсальный стандарт кодировки: на сайте, в базе, в выгрузках, в письмах.
- Явно указывать кодировку во всех местах, где это возможно, а не полагаться на определение по умолчанию.
- Файлы и адреса страниц называть латиницей.
- При настройке обмена с учётной системой один раз зафиксировать формат и не менять.
- Перед массовой загрузкой прайса проверять на нескольких позициях, а не заливать сразу весь.
- Делать резервную копию перед любой массовой загрузкой данных.
- После обновления системы управления проверять кодировку выборочно.
Последний совет самый ценный: никогда не исправляйте искажённый текст вручную поверх испорченных данных. Это создаёт двойное преобразование, после которого восстановить исходник становится действительно сложно. Правильный путь — вернуться к исходному файлу и загрузить его заново с правильными настройками.
Итог
Нечитаемые символы в письмах, выгрузках и на страницах — не мистика и не поломка сайта, а несовпадение таблиц кодировки между системами. В большинстве случаев данные восстанавливаются из исходного файла, если не пытаться чинить результат вручную. Профилактика сводится к нескольким правилам: единый современный стандарт везде, явное указание кодировки, латинские имена файлов и проверка после каждого переноса или обновления.
Если вы столкнулись с искажёнными данными и не понимаете, где именно ломается цепочка, — обратитесь к специалистам компании «Сайты Профессионально». Бесплатно разберёмся, на каком этапе теряется кодировка, восстановим данные из исходников и настроим обмен так, чтобы проблема не возвращалась при каждой новой выгрузке.
Хотите получить бесплатную диагностику сайта?
Получите бесплатную экспресс-диагностику за 24 часа. Проверим ошибки, сбои, скорость, безопасность и скрытые ошибки — пришлём отчёт с рекомендациями.
- Скорость загрузки и мобильная версия
- Уязвимости, вирусы, взломы
- Битые ссылки, дубли, SEO-ошибки
- Статус домена, SSL, хостинга
Популярные решения наших клиентов:

До 10 часов работ в мес.
Ежедневная диагностика
Продление домена
Продление хостинга/сервера

До 40 часов работ в мес.

До 100 часов работ в мес.
