Блог
Русский

Исправить кракозябры онлайн — восстановление кодировки текста

Восстановление кракозябр перебором всех вероятных пар перепутанных кодировок

Работает в браузере · файлы никуда не загружаются

Пример — текст в UTF-8, прочитанный как Windows-1252. Замените его своим испорченным текстом.

Вариантов: 3. Наиболее вероятный: сохранен как UTF-8, прочитан как Windows-1252 (Latin-1)

  1. Наиболее вероятный

    Привет, мир! Это пример испорченного текста.

    сохранен как UTF-8, прочитан как Windows-1252 (Latin-1)

  2. Вариант 2

    „P„‚„y„r„u„„, „}„y„‚! „^„„„€ „„‚„y„}„u„‚ „y„ƒ„„€„‚„‰„u„~„~„€„s„€ „„„u„{„ƒ„„„p.

    сохранен как UTF-8, прочитан как Windows-1252 (Latin-1) → затем сохранен как Windows-1252 (Latin-1), прочитан как Shift_JIS

  3. Вариант 3

    テ税クテ鯛ぎテ青クテ青イテ青オテ鯛€�, テ青シテ青クテ鯛ぎ! テ青ュテ鯛€堙青セ テ青ソテ鯛ぎテ青クテ青シテ青オテ鯛ぎ テ青クテ堕�青ソテ青セテ鯛ぎテ鯛€。テ青オテ青ステ青ステ青セテ青ウテ青セ テ鯛€堙青オテ青コテ堕�鯛€堙青ー.

    сохранен как Shift_JIS, прочитан как UTF-8

    Символов, утраченных ранее и оставшихся как �: 3.

Перебираются все пары из UTF-8, CP949 (EUC-KR), Shift_JIS и Windows-1252 (12 пар), а дважды испорченный текст обращается еще раз. Выше ранжируются варианты с большим числом распространенных букв (латиница, кана, 2350 распространенных слогов хангыля из KS X 1001) и меньшим числом �, управляющих символов и случайных знаков Latin-1. Таблицы соответствуют WHATWG Encoding Standard; ваш текст остается в браузере.

Что это за инструмент

Инструмент возвращает испорченному тексту его исходный вид. Он пригодится, когда в теме письма вместо «Привет» стоит «ÐŸÑ€Ð¸Ð²ÐµÑ‚», вместо «é» — «Ã©», выгрузка из базы данных пестрит «â€™» на месте апострофов или корейский и японский текст превратился в набор странных символов. Знать, какие кодировки перепутаны, не нужно: перебираются все вероятные пары, и самые естественные результаты выводятся первыми.

Как пользоваться

  1. Вставьте испорченный текст. Для начала поле заполнено примером.
  2. Сначала посмотрите на вариант «Наиболее вероятный».
  3. У каждого варианта указано, как был испорчен текст, например «сохранен как UTF-8, прочитан как Windows-1252». Если проблема повторяется, поменяйте эту настройку в программе, которая прочитала текст неправильно.
  4. Скопируйте нужный вариант.
  5. Если ничего лучше не нашлось или текст полон символов �, откройте исходный файл в конвертере кодировок.

Как это работает

  • Перебираемые кодировки: UTF-8, CP949 (EUC-KR), Shift_JIS и Windows-1252 (Latin-1) — все 12 пар. Каждое обращение кодирует испорченный текст в той кодировке, в которой его ошибочно прочитали, а затем декодирует байты в той, в которой они были на самом деле.
  • Варианты, которые ничего не потеряли на первом шаге, обращаются еще раз, чтобы поймать двойную порчу.
  • При ранжировании предпочтение получают латинские буквы и цифры, японская кана и 2350 распространенных слогов хангыля, а штрафуются �, управляющие символы, случайные знаки Latin-1 и хангыль, приклеенный перед латинскими буквами. Вариант, в котором появляются новые пропуски �, сильно понижается.
  • Если 20% и более ввода составляют символы �, первым выводится замечание «восстановить из текста нельзя» и ссылка на конвертер кодировок, а остаются только варианты, оставшиеся буквы которых ясно читаются (распространенный хангыль или кана), — случайный шум никогда не предлагается как исправление.
  • Таблицы кодировок соответствуют WHATWG Encoding Standard.
  • Буквы с диакритикой (é, ü, ñ, ç…), превратившиеся в é и подобное, и кириллица в UTF-8, прочитанная как Windows-1252, восстанавливаются. Кодировки Windows-1251, KOI8-R, GBK и Big5 не перебираются.

Примеры

Испорченный текст Причина Исправленный
Привет, мир! UTF-8, прочитанный как Windows-1252 Привет, мир!
Café crème UTF-8, прочитанный как Windows-1252 Café crème
it’s UTF-8, прочитанный как Windows-1252 it’s
한글 UTF-8, прочитанный как Windows-1252 한글
À̸§ CP949, прочитанный как Windows-1252 이름
譌・譛ャ隱槭� японский UTF-8, прочитанный как Shift_JIS 日本語… (частично)
�ȳ��ϼ��� CP949, прочитанный как UTF-8 не восстанавливается (выводятся замечание и ссылка на конвертер)

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

Что такое кракозябры (mojibake)?

Текст хранится в виде байтов. Если его сохранили в одной кодировке, а прочитали в другой, те же байты отображаются неправильными символами. Слово «Привет» в UTF-8, прочитанное как Windows-1252, превращается в «ÐŸÑ€Ð¸Ð²ÐµÑ‚», а «café» — в «café».

Какие кракозябры инструмент не исправит?

Если текст полон символов � (символ замены), исходные байты были выброшены при неправильном чтении, и восстановить их из текста нельзя. Классический пример — корейский файл в EUC-KR, открытый как UTF-8; в таком случае откройте исходный файл в конвертере кодировок. Кириллические кодовые страницы Windows-1251 и KOI8-R инструмент не перебирает, поэтому текст вида «РџСЂРёРІРµС‚» (UTF-8, прочитанный как Windows-1251) он не восстановит.

Какому варианту доверять?

Верхний вариант выглядит самым естественным, но очень короткий текст бывает неоднозначным. Выберите тот, что читается как настоящие предложения, и посмотрите пояснение, как именно текст был испорчен.

Справляется ли он с текстом, испорченным дважды?

Да. Текст, который неправильно прочитали, сохранили и снова неправильно прочитали (é превращается в Â…), восстанавливается в два шага. Для текстов длиннее 5000 символов выполняется только один шаг, чтобы работа оставалась быстрой.

Почему очень короткие строки иногда не исправляются?

Варианты ранжируются по естественности, а очень короткая испорченная строка сама может выглядеть правдоподобно. Например, японское «ありがとう», испорченное через Shift_JIS («縺ゅj縺後→縺�»), может не получить ни одного варианта или получить другой порядок, а одно русское слово может оказаться не первым в списке. На длинном тексте ранжирование гораздо надежнее, поэтому вставляйте и соседние предложения.

Мой текст сохраняется?

Нет. Все выполняется в вашем браузере.

Не нашли нужный инструмент?