Содержание
- 1 Способ 1: 2cyr
- 2 Способ 2: FoxTools
- 3 Способ 3: Online Decoder
- 4 Введение
- 5 Сравнение найденных решений на автоопределение кодировки
- 6 Собственный велосипед
- 7 Особенности, с которыми я столкнулся
- 8 Исправляем иероглифы на текст
- 9 Типы кодировок
- 10 Как определить кодировку на сайте
- 11 Где и как изменить кодировку
- 12 Смена кодировки базы данных
- 13 Способы конвертирования текста онлайн
Способ 1: 2cyr
Онлайн-сервис 2cyr поддерживает практически все популярные кодировки, а также позволяет исправить запись разными способами в зависимости от известной о кодировке информации. Для преобразования текста в читабельный вид при помощи данного сайта осуществите следующие действия:
Перейти к онлайн-сервису 2cyr
- Воспользуйтесь ссылкой выше, чтобы открыть главную страницу сайта 2cyr. Кликните по соответствующему полю для его активации.
Скопируйте текст в неверной кодировке и вставьте его в данное поле. Для этого можно использовать стандартные сочетания клавиш Ctrl + C и Ctrl + V.</li>Если известен формат поврежденной кодировки, его можно сразу же выбрать в отдельном меню, чтобы получить правильное исправление.</li>Второй вариант декодирования подразумевает просмотр результата на всех присутствующих в онлайн-сервисе кодировках. Для этого надо развернуть выпадающее меню и найти там читаемый вариант.</li>После этого подтвердите свой выбор, кликнув «ОК», ведь только так можно скопировать готовый текст.</li>Он будет отображаться внизу и доступен для копирования. Выделите его зажатой левой кнопкой мыши и используйте упомянутые выше комбинации, чтобы скопировать и вставить в необходимый текстовый документ.</li>Исходную кодировку вы видите выше — она отмечена зеленым цветом. Иногда это нужно пользователям при ее декодировании.</li></ol>
Данный сайт корректно исправляет любую кодировку, которая есть в списке поддерживаемых, поэтому вы можете взять его на вооружение и использовать в любой момент по необходимости.
Способ 2: FoxTools
Если предыдущий метод по каким-либо причинам вам не подошел, рекомендуем воспользоваться онлайн-сервисом FoxTools, интерфейс которого выполнен в более понятном и простом виде, а по функциональности вы получите те же самые инструменты и поддержку большинства кодировок с автоматическим исправлением.
Перейти к онлайн-сервису FoxTools
- Оказавшись на главной странице сайта FoxTools, активируйте поле для ввода, куда в дальнейшем и будете вставлять текст в сбившейся кодировке.
- Скопируйте его в текстовом документе и вставьте в данное поле на сайте.
- В большинстве случаев при исправлении исходная кодировка неизвестна, поэтому основная форма FoxTools сейчас нам не пригодится. Вместо этого разверните выпадающее меню «Выберите читаемый вариант из списка».
- В нем найдите подходящий текст в желаемой кодировке и щелкните по нему ЛКМ.
- Вы сразу же будете уведомлены, какая исходная кодировка была у неправильного текста.
- Дополнительно можете ознакомиться с той кодировкой, которую выбрали при исправлении.
- Нажмите «Отправить», чтобы получить правильный вариант текста для дальнейшего копирования.
- Опуститесь ниже к блоку «Результат», скопируйте правильное содержимое и переходите к дальнейшему его использованию в своих текстовых документах.
Способ 3: Online Decoder
По названию онлайн-сервиса Online Decoder уже понятно его предназначение. Исправление кодировки в нем происходит примерно так же, как это было показано в двух предыдущих методах, однако хотелось бы рассказать об этом подробнее, чтобы у начинающих юзеров, выбравших этот сайт, не возникло никаких трудностей при решении поставленной задачи.
Перейти к онлайн-сервису Online Decoder
- Щелкните по ссылке выше для перехода к сайту, а затем активируйте поле для вставки текста.
- Вставьте туда скопированную ранее надпись в поврежденной кодировке.
- Если вы знаете требуемые кодировки для перевода, заполните соответствующую форму и нажмите «Точно».
- В противном случае придется использовать автоматическое раскодирование текста, кликнув по кнопке «Подбор».
- Просмотрите полученный результат, скопируйте его и используйте в своих целях.
- Дополнительно отметим, что исходная и конечная кодировка при автоматическом переводе отобразится вверху в двух полях, если это будет нужно.
- В случае отображения неправильного текста раскройте выпадающее меню «Еще варианты» и ознакомьтесь с другими переводами, выберите подходящий и нажмите «Показать» для дальнейшего копирования.
Помогла ли вам эта статья?
Введение
Я очень люблю программировать, я любитель и первый и последний раз заработал на программировании в далёком 1996 году. Но для автоматизации повседневных задач иногда что-то пишу. Примерно год назад открыл для себя golang. В качестве инструмента создания утилит golang оказался очень удобным. Итак.
Возникла потребность обработать большое количество (больше тысячи, так и вижу улыбки профи) архивных файлов со специальной геофизической информацией. Формат файлов текстовый, простой. Если вдруг интересно то это LAS формат. LAS файл содержит заголовок и данные.
Данные практически CSV, только разделитель табуляция или пробелы.
А заголовок содержит описание данных и вот в нём обычно содержится русский текст. Это может быть название месторождения, название исследований, записанных в файл и пр.
Файлы эти созданы в разное время и в разных программах, доходит до того, что в одном файле часть в кодировке CP1251, а часть в CP866. Файлы эти мне нужно обработать, а значит понять. Вот и потребовалось определять автоматически кодировку файла.
В итоге изобрёл велосипед на golang и соответственно родилась маленькая библиотечка с возможностью детектировать кодовую страницу.
Про кодировки. Не так давно на хабре была хорошая статья про кодировкиКак работают кодировки текста. Откуда появляются «кракозябры». Принципы кодирования. Обобщение и детальный разборЕсли хочется понять, что такое “кракозябры” или “кости”, то стоит прочитать.
В начале я накидал своё решение. Потом пытался найти готовое работающее решение на golang, но не вышло. Нашлось два решения, но оба не работают.
- Первое “из коробки”— golang.org/x/net/html/charset функция DetermineEncoding()
- Второе библиотека — saintfish/chardet на github
Обе уверенно ошибаются на некоторых кодировках. Стандартная та вообще почти ничего определить не может по текстовым файлам, оно и понятно, её для html страниц делали.
При поиске часто натыкался на готовые утилиты из мира linux — enca. Нашёл её версию скомпилированную для WIN32, версия 1.12. Её я тоже рассмотрю, там есть забавности. Я прошу сразу прощения за своё полное незнание linux, а значит возможно есть ещё решения которые тоже можно попытаться прикрутить к golang коду, я больше искать не стал.
Сравнение найденных решений на автоопределение кодировки
Подготовил каталог softlandiacpd тестовые данные с файлами в разных кодировках. Содержимое файлов очень короткое и одинаковое. Одна строка “Русский в кодировке CodePageName”. Дополнил файлами со смешением кодировок и некоторыми сложными случаями и попробовал определить.
Мне кажется, получилось забавно.
# | Кодировка | html/charset | saintfish/chardet | softlandia/cpd | enca |
---|---|---|---|---|---|
1 | CP1251 | windows-1252 | CP1251 | CP1251 | CP1251 |
2 | CP866 | windows-1252 | windows-1252 | CP866 | CP866 |
3 | KOI8-R | windows-1252 | KOI8-R | KOI8-R | KOI8-R |
4 | ISO-8859-5 | windows-1252 | ISO-8859-5 | ISO-8859-5 | ISO-8859-5 |
5 | UTF-8 with BOM | utf-8 | utf-8 | utf-8 | utf-8 |
6 | UTF-8 without BOM | utf-8 | utf-8 | utf-8 | utf-8 |
7 | UTF-16LE with BOM | utf-16le | utf-16le | utf-16le | ISO-10646-UCS-2 |
8 | UTF-16LE without BOM | windows-1252 | ISO-8859-1 | utf-16le | unknown |
9 | UTF-16BE with BOM | utf-16le | utf-16be | utf-16be | ISO-10646-UCS-2 |
10 | UTF-16BE without BOM | windows-1252 | ISO-8859-1 | utf-16be | ISO-10646-UCS-2 |
11 | UTF-32LE with BOM | utf-16le | utf-32le | utf-32le | ISO-10646-UCS-4 |
12 | UTF-32LE without BOM | windows-1252 | utf-32le | utf-32le | ISO-10646-UCS-4 |
13 | UTF-32BE with BOM | windows-1252 | utf-32be | utf-32be | ISO-10646-UCS-4 |
14 | UTF-32BE without BOM | windows-1252 | utf-32be | utf-32be | ISO-10646-UCS-4 |
15 | KOI8-R (UPPER) | windows-1252 | KOI8-R | KOI8-R | CP1251 |
16 | CP1251 (UPPER) | windows-1252 | CP1251 | CP1251 | KOI8-R |
17 | CP866 & CP1251 | windows-1252 | CP1251 | CP1251 | unknown |
Наблюдение 1
enca не определила кодировку у файла UTF-16LE без BOM — это странно, ну ладно. Я попробовал добавить больше текста, но результата не получил.
Наблюдение 2. Проблемы с кодировками CP1251 и KOI8-R
Таблица CP 1251
Таблица KOI8-r
В обеих кодировках алфавит расположен от 0xC0 до 0xFF, но там, где у одной кодировки заглавные буквы, у другой строчные. Судя по всему enca, работает по строчным буквам. Вот и получается, если подать на вход программе enca строку “СТП” в кодировке CP1251, то она решит, что это строка “яро” в кодировке KOI8-r, о чём и сообщит. В обратную сторону также работает.
Наблюдение 3
Стандартной библиотеке html/charset можно доверить только определение UTF-8, но осторожно! Пользоваться следует именно charset.DetermineEncoding(), поскольку метод utf8.Valid(b []byte) на файлах в кодировке utf-16be возвращает true.
Собственный велосипед
Автоопределение кодировки возможно только эвристическими методами, неточно. Если мы не знаем, на каком языке и в какой кодировке записан текстовый файл, то определить кодировку с высокой точночностью наверняка можно, но будет сложновато… и нужно будет достаточно много текста.
Для меня такая цель не стояла. Мне достаточно определять кодировки в предположении, что там есть русский язык. И второе, определять нужно по небольшому количеству символов – на 10 символах должно быть достаточно уверенное определение, а желательно вообще на 5–6 символах.
Алгоритм
Когда я обнаружил совпадение кодировок KOI8-r и CP1251 по местоположению алфавита, то на пару дней загрустил… стало понятно, что чуть-чуть придётся подумать. Получилось так.
Основные решения:
- Работу будем вести со слайсом байтов, для совместимости с charset.DetermineEncoding()
- Кодировку UTF-8 и случаи с BOM проверяем отдельно
- Входные данные передаём по очереди каждой кодировке. Каждая сама вычисляет два целочисленных критерия. У кого сумма двух критериев больше, тот и выиграл.
Критерии соответствия
Первый критерий
Первым критерием является количество самых популярных букв русского алфавита.
Наиболее часто встречаются буквы: о, е, а, и, н, т, с, р, в, л, к, м, д, п, у. Данные буквы дают 82% покрытия. Для всех кодировок кроме KOI8-r и CP1251 я использовал только первые 9 букв: о, е, а, и, н, т, с, р, в. Этого вполне хватает для уверенного определения.
А вот для KOI8-r и CP1251 пришлось доработать напильником. Коды некоторых из этих букв совпадают, например буква о имеет в CP1251 код 0xEE при этом в KOI8-r этот код у буквы н. Для этих кодировок были взяты следующие популярные буквы. Для CP1251 использовал а, и, н, с, р, в, л, к, я. Для KOI8-r — о, а, и, т, с, в, л, к, м.
Второй критерий
К сожалению, для очень коротких случаев (общая длина русского текста 5-6 символов) встречаемость популярных букв на уровне 1-3 шт и происходит нахлёст кодировок KOI8-r и CP1251. Пришлось вводить второй критерий. Подсчёт количества пар согласная+гласная. Такие комбинации ожидаемо наиболее часто встречаются в русском языке и соответственно в той кодировке в которой число таких пар больше, та кодировка имеет больший критерий.
Особенности, с которыми я столкнулся
Чуть коснусь прелестей и проблем, связанных с golang. Раздел может быть интересен только начинающим писать на golang.
Проблемы
Лично походил по некоторым подводным камушкам из 50 оттенков Go: ловушки, подводные камни и распространённые ошибки новичков. Излишне переживая и пытаясь дуть на воду, прослышав от других о страшных ожогах от молока, переборщил с проверкой входного параметра типа io.Reader. Я проверял переменную типа io.Reader с помощью рефлексии.
//CodePageDetect - detect code page of ascii data from reader 'r' func CodePageDetect(r io.Reader, stopStr ...string) (IDCodePage, error) { if !reflect.ValueOf(r).IsValid() { return ASCII, fmt.Errorf("input reader is nil") } ...
Но как оказалось в моём случае достаточно проверить на nil. Теперь всё стало проще
func CodePageDetect(r io.Reader, stopStr ...string) (IDCodePage, error) { //test input interfase if r == nil { return ASCII, nil } //make slice of byte from input reader buf, err := bufio.NewReader(r).Peek(ReadBufSize) if (err != nil) && (err != io.EOF) { return ASCII, err } ...
вызов bufio.NewReader( r ).Peek(ReadBufSize) спокойно проходит следующий тест:
var data *os.File res, err := CodePageDetect(data)
В этом случае Peek() возвращает ошибку.
Разок наступил на грабли с передачей массивов по значению. Немного тупанул на попытке изменять элементы, хранящиеся в map, пробегая по ним в range…
Прелести
Сложно сказать что конкретно, постоянное ли битьё по рукам от линтера и компилятора или активное использование range, или всё вместе, но практически отсутствуют залёты по выходу индекса за пределы.
Переменные, имеющие тип функции — соответственно лёгкая реализация различного поведения у однотипных объектов.
Странно мало пришлось сидеть в отладчике, перечитывание кода обычно даёт результат.
Щенячий восторг от наличия массы инструментов из коробки, это чудное ощущение, когда компилятор, язык, библиотека и IDE Visual Studio Code работают на тебя вместе, слаженно.
- перевёл тесты на testify и они действительно стали более читабельны
- исправил в тестах пути к файлам данных для совместимости с Linux
- прошёлся линтером — таки он нашёл одну реальную ошибку (проклятущий copy/past)
Продолжаю добавлять тесты, выявился случай не определения UTF16. Обновил. Теперь UTF16 и LE и BE определяются даже в случае отсутствия русских букв
Вопрос пользователя
Здравствуйте.
Подскажите пожалуйста, почему у меня некоторые странички в браузере отображают вместо текста иероглифы, квадратики и не пойми что (ничего нельзя прочесть). Раньше такого не было.
Заранее спасибо…
Доброго времени суток!
Действительно, иногда при открытии какой-нибудь интернет-странички вместо текста показываются различные “крякозабры” (как я их называю), и прочитать это нереально.
Происходит это из-за того, что текст на страничке написан в одной кодировке(более подробно об этом можете узнать изВикипедии), а браузер пытается открыть его в другой. Из-за такого рассогласования, вместо текста — непонятный набор символов.
Попробуем исправить это…
*
Исправляем иероглифы на текст
Браузер
Вообще, раньше Internet Explorer часто выдавал подобные крякозабры, ? современные же браузеры (Chrome, Яндекс-браузер, Opera, Firefox) — довольно неплохо определяют кодировку, и ошибаются очень редко. ?
Скажу даже больше, в некоторых версиях браузера уже убрали выбор кодировки, и для “ручной” настройки этого параметра нужно скачивать дополнения, или лезть в дебри настроек за 10-ток галочек…
И так, предположим браузер неправильно определили кодировку и вы увидели следующее (как на скрине ниже ?).
Неправильно выбранная кодировка
? Кстати!
Чаще всего путаница бывает между кодировками UTF (Юникод) и Windows-1251 (большинство русскоязычных сайтов выполнены в этих кодировках).
Поэтому, я рекомендую в ручном режиме попробовать их обе. Например, чтобы это сделать в браузере Firefox, нужно:
- нажать левый ALT — чтобы сверху показалось меню. Нажать меню “Вид”;
- выбрать пункт “Кодировка текста”, далее выбрать Юникод. И, ву-а-ля — иероглифы на странички сразу же стали обычным текстом (скрин ниже ?)!
? В помощь!Если у вас иероглифы в браузере Chrome —ознакомьтесь с этим
Смена кодировки в Firefox
Еще один совет: если в браузере не можете найти, как сменить кодировку (а дать инструкцию для каждого браузера — вообще нереально!), я рекомендую попробовать открыть страничку в другом браузере. Очень часто другая программа открывает страницу так, как нужно.
Текстовые документы
Очень много вопросов по крякозабрам задаются при открытии каких-нибудь текстовых документов. Особенно старых, например, при чтении Readme в какой-нибудь программе прошлого века (скажем, к играм).
Разумеется, что многие современные блокноты просто не могут прочитать DOS‘овскую кодировку, которая использовалась ранее. Чтобы решить сию проблему, рекомендую использовать редактор Bread 3.
Bred 3
Сайт: http://www.astonshell.ru/freeware/bred3/
Простой и удобный текстовый блокнот. Незаменимая вещь, когда нужно работать со старыми текстовыми файлами.
Bred 3 за один клик мышкой позволяет менять кодировку и делать не читаемый текст читаемым! Поддерживает кроме текстовых файлов довольно большое разнообразие документов. В общем, рекомендую! ✌
Попробуйте открыть в Bred 3 свой текстовый документ (с которым наблюдаются проблемы). Пример показан у меня на скрине ниже.
Иероглифы при открытии текстового документа
Далее в Bred 3 есть кнопка для смены кодировки: просто попробуйте поменять ANSI на OEM — и старый текстовый файл станет читаемым за 1 сек.!
Исправление иероглифов на текст
Для работы с текстовыми файлами различных кодировок также подойдет еще один блокнот — Notepad++. Вообще, конечно, он больше подходит для программирования, т.к. поддерживает различные подсветки, для более удобного чтения кода.
Notepad++
Сайт: https://notepad-plus-plus.org/
Надежный, удобный, поддерживающий громадное число форматов файлов блокнот. Позволяет легко и быстро переключать различные кодировки.
Пример смены кодировки показан ниже: чтобы прочитать текст, достаточно в примере ниже, достаточно было сменить кодировку ANSI на UTF-8.
Смена кодировки в блокноте Notepad++
Штирлиц
Сайт разработчика: http://www.shtirlitz.ru/
Эта программа специализируется на “расшифровке” текстов, написанных в разных кодировках: Win-1251, KOI-8r, DOS, ISO-8859-5, MAC и др.
Причем, программа нормально работает даже с текстами со смешанной кодировкой (что не могут др. аналоги). Пример см. на скрине ниже. ?
Пример работы ПО “Штирлиц”
WORD’овские документы
Очень часто проблема с крякозабрами в Word связана с тем, что путают два формата Doc и Docx. Дело в том, что с 2007 года в Word (если не ошибаюсь) появился формат Docx (позволяет более сильнее сжимать документ, чем Doc, да и надежнее защищает его).
Так вот, если у вас старый Word, который не поддерживает этот формат — то вы, при открытии документа в Docx, увидите иероглифы и ничего более.
Решения есть два:
- скачать на сайте Microsoft спец. дополнение, которое позволяет открывать в старом Word новые документы (с 2020г. дополнение с офиц. сайта удалено). Только из личного опыта могу сказать, что открываются далеко не все документы, к тому же сильно страдает разметка документа (что в некоторых случаях очень критично);
- использовать ? аналоги Word (правда, тоже разметка в документе будет страдать);
- обновить Word до современной версии.
Так же при открытии любого документа в Word (в кодировке которого он “сомневается”), он на выбор предлагает вам самостоятельно указать оную. Пример показан на рисунке ниже, попробуйте выбрать:
- Widows (по умолчанию);
- MS DOS;
- Другая…
Переключение кодировки в Word при открытии документа
Окна в различных приложениях Windows
Бывает такое, что какое-нибудь окно или меню в программе показывается с иероглифами (разумеется, прочитать что-то или разобрать — нереально).
Могу дать несколько рекомендаций:
- Русификатор. Довольно часто официальной поддержки русского языка в программе нет, но многие умельцы делают русификаторы. Скорее всего, на вашей системе — данный русификатор работать отказался. Поэтому, совет простой: попробовать поставить другой;
- Переключение языка. Многие программы можно использовать и без русского, переключив в настройках язык на английский. Ну в самом деле: зачем вам в какой-то утилите, вместо кнопки “Start” перевод “начать”?
- Если у вас раньше текст отображался нормально, а сейчас нет — попробуйте ? восстановить Windows, если, конечно, у вас есть точки восстановления;
- Проверить настройки языков и региональных стандартов в Windows, часто причина кроется именно в них (?).
Языки и региональные стандарты в Windows
Чтобы открыть меню настроек:
- нажмите Win+R;
- введите intl.cpl, нажмите Enter.
intl.cpl – язык и регион. стандарты
Проверьте чтобы во вкладке “Форматы” стояло “Русский (Россия) / Использовать язык интерфейса Windows (рекомендуется)”(пример на скрине ниже ?).
Формат – русский / Россия
Во вкладке “Местоположение”— укажите “Россия”.
Местоположение – Россия
И во вкладке “Дополнительно” установите язык системы “Русский (Россия)”.
После этого сохраните настройки и перезагрузите ПК. Затем вновь проверьте, нормально ли отображается интерфейс нужной программы.
Текущий язык программ
PS
И напоследок, наверное, для многих это очевидно, и все же некоторые открывают определенные файлы в программах, которые не предназначены для этого: к примеру в обычном блокноте пытаются прочитать файл DOCX или PDF.
? В помощь! Незаменимые программы для чтения PDF-файлов
Естественно, в этом случае вы вместо текста будут наблюдать за крякозабрами, используйте те программы, которые предназначены для данного типа файла (WORD 2016+ и Adobe Reader для примера выше).
*
На сим пока всё, удачи!
?
Первая публикация: 26.01.2017
Корректировка: 29.03.2020
RSS (как читать Rss)Другие записи:
- Как узнать сколько лет компьютеру, ноутбуку. Требуется ли его обновлять (проводить апгрейд)
- Как очистить кэш на Андроид // популярный вопрос
- Как отправить компьютер в СОН (ждущий режим) с помощью кнопок и горячих клавиш / спящий режим менее …
- Архив RAR не открывается: что делать? Можно ли спасти данные из него, если нет копий файла
- Как посмотреть карты со спутника (улицы, дома, достопримечательности видим реальными глазами в 3D)
- Инструкция по оптимизации Windows 10 (для повышения производительности компьютера)
- Тормозит видео на компьютере/ноутбуке, что можно сделать?
- Нет кнопки Win на клавиатуре: что делать? Как можно нажать кнопку Windows альтернативным путем
29 дек в 2020 1.1K
Если никакая кодировка не установлена, вместо символов мы увидим такие значения. Чтобы понять компьютер, необходимо установить нужную кодировку для расшифровки символов из этой таблицы.
Типы кодировок
Существует несколько типов кодировок:
- ASCII – первая кодировка, которая была признана Американским национальным институтом мировых стандартов. Для ее использования задействуется 7 бит, где первые 128 значений включают в себя весь английский алфавит, числа, знаки и символы. Такая кодировка ранее использовалась на англоязычных ресурсах.
- Кириллица – вариант российской кодировки, используемый на русскоязычных сайтах и блогах.
- КОИ8 (код обмена информацией 8-битный) – была разработана для кодирования букв кириллических алфавитов. Распространена в Unix-подобных ОС и электронной почте. Постепенно исчезает в связи с приходом Юникода.
- Windows 1250-1258 – 8-битные кодировки, зародившиеся после появления операционной системы Windows. Например, 1250 – все языки центральной Европы, 1251 – кириллица. В ней присутствуют все буквы русского алфавита, а также символы (за исключением знака ударения).
- UTF-8 – наиболее используемый тип кодировок, работающий практически со всеми языками мира. Символы занимают от 1 до 4 байт, что дает возможность создавать мультиязычные веб-сайты. Помимо UTF-8, есть такие варианты, как UTF-16 и UTF-32, однако предпочтение отдается первому типу.
Существуют и другие типы кодировок, но они используются в меньшей степени либо не используются вообще.
Как определить кодировку на сайте
Узнать кодировку своего или чужого сайта довольно просто, достаточно просмотреть исходный код страницы. Сделать это можно следующим образом:
- Открываем сайт, на котором необходимо посмотреть кодировку, и кликаем правой кнопкой мыши по любой области. В отобразившемся меню выбираем «Просмотр кода страницы». Также можно воспользоваться комбинацией клавиш «CTRL+U».
- В результате перед нами отобразится новое окно с кодом страницы – в нем воспользуемся комбинацией клавиш «CTRL+F» для поиска строки, отвечающей за кодировку веб-страницы. Вводим запрос «charset» и смотрим результат.
После charset указано значение UTF-8 – это означает, что данная кодировка используется на рассматриваемом сайте. Если вы увидели, что на вашем сайте указана некорректная кодировка, то это можно исправить. Подробнее о том, как это сделать, поговорим далее.
Где и как изменить кодировку
Все зависит от сайта. Способ установки кодировки может различаться: если используется одностаничник, то достаточно в HTML-файле прописать мета-тег в блоке
:
В противном случае нам потребуется отредактировать файл .htaccess. Рассмотрим на примере хостинга Timeweb, как это можно сделать.
- Открываем личный кабинет и переходим в раздел «Файловый менеджер». В нем перемещаемся в директорию с сайтом и находим в корне файл .htaccess – открываем его двойным кликом мыши.
- В начало файла необходимо добавить следующий код:
Для UTF-8: AddDefaultCharset UTF-8 Для Windows-1251: AddDefaultCharset WINDOWS-1251
Открываем свой сайт и видим, что ничего не изменилось – так и должно быть. Чтобы внести изменения, очищаем кэш с помощью комбинации клавиш «CTRL+F5» и смотрим результат.
Как видите, сменить кодировку на своем сайте легко. Аналогичным образом мы можем изменить кодировку и на всем сервере – для этого необходимо выполнить следующее (актуально для веб-сервера Apache):
- Находим файл httpd.conf, который расположен по адресу: «/usr/local/apache/conf/», и открываем его.
- Если нужно поменять Windows-1251 на UTF-8, то меняем строку «AddDefaultCharset windows-1251» на «AddDefaultCharset utf-8».
Если вы поменяете кодировку по умолчанию, то она будет изменена для всех ресурсов, находящихся на данном сервере.
Смена кодировки базы данных
В данном случае нам потребуется открыть базу данных через личный кабинет хостинга и изменить значение кодировки в разделе «Операции». Давайте рассмотрим, как это можно сделать через админку Timeweb.
- Переходим в свой аккаунт и открываем раздел «Базы данных MySQL» – в нем находим нужную базу данных и кликаем по кнопке «phpMyAdmin».
- В отобразившемся окне вводим пароль и следуем далее.
- Переходим к нужной базе данных и в верхнем меню выбираем «Операции».
- Указываем в нижнем блоке значение «utf8mb4_general_ci» и в правой части жмем на кнопку «Вперед».
- Готово! Теперь база данных использует кодировку UTF-8.
На этом статья подходит к концу. Теперь вы знаете больше о кодировке сайта и можете легко ее изменить в случае необходимости. Спасибо за внимание!
Илья Смолин +146 busesarefrank@gmail.com24
Опубликовано | 22 сентября 2017 |
---|---|
Автор статьи | NimdaIT |
Категория | Онлайн-сервисы |
Обсуждение | нет комментариев |
Периодически случается так, что приходят письма, которые невозможно прочитать — они заполнены какими-то непонятными знаками. Происходит такое и с документами. Причина этого кроется в использовании неверной кодировки символов. Что с этим можно сделать, как прочитать что там написано?
Способы конвертирования текста онлайн
Любая поисковая система в ответ на запрос «Перекодирование онлайн» выдаст несколько адресов, где можно бесплатно расшифровать текст. Мы рассмотрим наиболее популярные и удобные сервисы, которые без труда переведут нечитаемый текст в изначальный вид.
Способ 1: 2Cyr
Универсальный декодер работает только с кириллическими символами. Сервис пытается изменить кодировку, но если это сделать не удается, предлагаются другие варианты для выбора. На странице можно ознакомиться с пошаговым алгоритмом действий и небольшим количеством теории.
Перейти на сайт 2Cyr
Для перекодировки текста нужно выполнить следующие действия:
- Зайдите на сайт сервиса.
- Вставьте скопированный из источника текст в поле для декодирования.
Размер исходного текста ограничен 100 КБ.
В поле «Выбрать кодировку» нажмите на стрелку в конце поля. При этом выпадет список названий таблиц символов. Наведите указатель мыши на нужную. Если нет навыка в определении кодировки по виду знаков, рекомендуется оставить автоматический подбор. Запустите процесс, нажав кнопку «ОК» справа от поля выбора кодировки.</li>
Через небольшой промежуток времени в нижнем поле появится результат.</li>
Универсальный декодер определил тип исходной кодировки, но не справился с некоторыми символами. Тем не менее, текст можно прочитать и приблизительно понять, о чем идет речь. Конвертер кириллицы также предоставляет возможность посмотреть и выбрать альтернативные варианты расшифровки.
В строке «Выберите читаемый вариант перекодировки» нажмите на стрелку справа. В выпадающем окне появится список вариантов. Выберите с помощью мыши любой и нажмите кнопку «ОК», которая находится справа.</li>
Итог появится в поле для результата.</li>
Способ 2: Alexpad
В отличие от предыдущего декодера, здесь текст можно не только скопировать в поле, но и загрузить из файла. Документ должен быть в формате TXT и размером не более 500 КБ.
Alexpad работает со всеми известными кодировками символов. На этом сайте также, как и на 2Cyr, есть теоретическая информация о проблеме, и о том как работает перекодировщик. Для ускорения работы декодер обрабатывает по 200 символов. Делает он это достаточно быстро, но если имеется большой текст, придется все время вставлять и копировать его куски.
Перейти на сайт Alexpad
Шаги по расшифровке текста с помощью этого сайта должны быть такими:
- Перейдите по ссылке выше.
- Скопированный тестовый фрагмент вставьте в поле.
- Нажмите кнопку «Определить».
- Результат выдается в виде таблицы, где текст приведен не полностью.
- Чтобы увидеть всю расшифрованную запись, необходимо нажать на кнопку с изображением двух стрелок.
- Другие варианты расшифровки можно увидеть, нажав на кнопку «Все найденные».
Способ 3: Декодер студии Артемия Лебедева
Расшифровщик дизайн студии имеет минималистичное оформление. Кроме поля для исходного текста на странице имеются кнопки для выбора простого или сложного перекодирования.
Перейти на сайт студии Артемия Лебедева
Работа с ним происходит следующим образом:
- Зайдите на сайт по ссылке, указанной выше.
- Текст для перекодировки вставьте в соответствующее поле.
- Выберите режим декодирования кнопками «Просто» или «Сложно». В данном случае выбран простой способ преобразования.
- Нажмите «Расшифровать».
- В режиме «Просто» результат работы Декодера Артемия Лебедева появляется в том же поле, куда ранее был вставлен текст.
Итоговую информацию можно понять, но невозможно использовать в документах. Определены исходная и конечные кодировки символов.
- Для более глубокого преобразования следует нажать поле «Сложно».
При этом способе доступен выбор таблиц символов. По умолчанию используется автоматическая кодировка.
- Целевая таблица символов выбирается щелчком мыши на поле «Автоматическая кодировка».
- Результат расшифровки можно увидеть во втором поле Декодера. В зависимости от разрешения монитора оно находится либо внизу экрана, либо справа.
Качество обработки примерно такое же, как и в простом режиме. Присутствует информация об исходной и конечной кодировках текста.
Тестирование онлайн перекодировщиков подтвердило, что, к сожалению, не всякий текст может быть приведен к нужному виду без ошибок. Когда сервис не может найти соответствие какому-то числу, он подставляет на его место символ, близкий по числовому значению, а не изображению. Обычно используется вопросительный знак «?», но могут применяться и другие варианты. В таких случаях нужно или согласиться с таким представлением и попробовать разобраться в том, что получилось, или обратиться к профессионалам. Тем не менее, онлайн-декодеры имеют право на жизнь. Они часто помогают прочитать то, что, на первый взгляд, прочитать невозможно.
</ol>Используемые источники:
- https://lumpics.ru/how-to-fix-text-encoding-online/
- https://habr.com/ru/post/483166/
- https://ocomp.info/vmesto-teksta-ieroglifyi-kryakozabryi.html
- https://timeweb.com/ru/community/articles/kak-izmenit-kodirovku-sayta
- https://itcreeper.ru/online-text-recoding/