Конвертер кодировок текста

Ромбы с вопросами (�) вместо букв: почему и что делать

Исправить текст в конвертере ↓

Чёрный ромб со знаком вопроса (�) — это не кракозябра в обычном смысле, а специальный символ-заменитель U+FFFD. Программа ставит его, когда читает текст как UTF-8 и встречает последовательность байтов, которая в UTF-8 невозможна. Чаще всего это файл в Windows-1251 или другой однобайтовой кодировке, открытый как UTF-8.

Почему такой текст не исправить копированием

При обычных кракозябрах вроде «РџСЂРёРІРµС‚» каждый исходный байт превращается в свой символ, и обратное преобразование их восстанавливает. С ромбами иначе: на месте любой непонятной последовательности стоит один и тот же символ, и информация о том, какие байты там были, уже потеряна. Поэтому текст с ромбами, скопированный из программы или с веб-страницы, никакой конвертер не вернёт — ни этот, ни другой.

Что делать

  1. Найдите исходный файл — тот, который открылся ромбами. Его байты не испорчены: испорчено только отображение.
  2. Загрузите файл в конвертер кнопкой «Загрузить файл». Конвертер читает байты файла напрямую: если это не UTF-8, он прочитает их как Windows-1251 и сразу определит настоящую кодировку. После этого файл можно скачать в UTF-8.
  3. Или откройте файл с явным выбором кодировки. В Notepad++ — «Кодировки» → «Кириллица» → «Windows-1251», в Excel — через «Данные» → «Из текста/CSV», в браузере — сохраните страницу и откройте файл в редакторе.

Другие похожие символы

Что видноЧто это значит
������Однобайтовый текст прочитан как UTF-8. Нужен исходный файл.
??????Обычные вопросительные знаки: текст сохранили в кодировке, где нет кириллицы (например, Windows-1252 или latin1 в MySQL). Буквы заменены при записи и потеряны; поможет только повторная запись из источника.
Пустые квадратикиС кодировкой всё в порядке, но в шрифте нет нужного символа. Выберите другой шрифт или установите шрифт с поддержкой нужного алфавита.
Привет, ÏðèâåòОбычные кракозябры, они исправляются. См. таблицу кракозябр.

Как не допускать ромбов

Ромбы появляются там, где кто-то решает, что файл записан в UTF-8, не проверив этого: редактор, сайт или скрипт. Сохраняйте новые файлы в UTF-8, а при обработке старых явно указывайте их кодировку — в программе, в параметре функции чтения файла или в заголовке Content-Type страницы.

Частые вопросы

Почему на сайте часть букв нормальная, а часть — ромбы?
Обычно это значит, что страница отдаётся как UTF-8, а часть текста в неё попала в Windows-1251: например, из старой базы данных, файла шаблона или подключаемого скрипта. Найдите источник этого фрагмента и перекодируйте его в UTF-8.
Исчезнут ли ромбы, если скопировать текст в Word или другой редактор?
Нет: символ-заменитель копируется как есть, и в любом редакторе он останется ромбом. Нужно открыть исходный файл в правильной кодировке.