Version: 20220421
By the same author: Virtour.fr — visites virtuelles
Универсальный декодер — конвертер кириллицы
Результат
[Результат перекодировки появится здесь…]
Гостевая книга
Поставьте ссылку на наш сайт! <a href=»https://2cyr.com/decode/»>Универсальный декодер кириллицы</a> |
Custom Work For a small fee I can help you quickly recode/recover large pieces of data — texts, databases, websites… or write custom functions you can use (invoice available). FAQ and contact information. |
О программе
Здравствуйте! Эта страница может пригодиться, если вам прислали текст (предположительно на кириллице), который отображается в виде странной комбинации загадочных символов. Программа попытается угадать кодировку, а если не получится, покажет примеры всех комбинаций кодировок, чтобы вы могли выбрать подходящую.
Использование
- Скопируйте текст в большое текстовое поле дешифратора. Несколько первых слов будут проанализированы, поэтому желательно, чтобы в них содержалась (закодированная) кириллица.
- Программа попытается декодировать текст и выведет результат в нижнее поле.
- В случае удачной перекодировки вы увидите текст в кириллице, который можно при необходимости скопировать и сохранить.
- В случае неудачной перекодировки (текст не в кириллице, состоящий из тех же или других нечитаемых символов) можно выбрать из нового выпадающего списка вариант в кириллице (если их несколько, выбирайте самый длинный). Нажав OK вы получите корректный перекодированный текст.
- Если текст перекодирован лишь частично, попробуйте выбрать другие варианты кириллицы из выпадающего списка.
Ограничения
- Если текст состоит из вопросительных знаков («???? ?? ??????»), то проблема скорее всего на стороне отправителя и восстановить текст не получится. Попросите отправителя послать текст заново, желательно в формате простого текстового файла или в документе LibreOffice/OpenOffice/MSOffice.
- Не любой текст может быть гарантированно декодирован, даже если есть вы уверены на 100%, что он написан в кириллице.
- Анализируемый и декодированный тексты ограничены размером в 100 Кб.
- Программа не всегда дает стопроцентную точность: при перекодировке из одной кодовой страницы в другую могут пропасть некоторые символы, такие как болгарские кавычки, реже отдельные буквы и т.п.
- Программа проверяет максимум 7245 вариантов из двух и трех перекодировок: если имело место многократное перекодирование вроде koi8(utf(cp1251(utf))), оно не будет распознано или проверено. Обычно возможные и отображаемые верные варианты находятся между 32 и 255.
- Если части текста закодированы в разных кодировках, программа сможет распознать только одну часть за раз.
Условия использования
Пожалуйста, обратите внимание на то, что данная бесплатная программа создана с надеждой, что она будет полезна, но без каких-либо явных или косвенных гарантий пригодности для любого практического использования. Вы можете пользоваться ей на свой страх и риск.
Если вы используете для перекодировки очень длинный текст, убедитесь, что имеется его резервная копия.
Переводчики
Русский (Russian) : chAlx ; Пётр Васильев (http://yonyonson.livejournal.com/)
Страница подготовки переводов на другие языки находится тут.
Что нового
October 2013 : I am trying different optimizations for the system which should make the decoder run faster and handle more text. If you notice any problem, please notify me ASAP.
На английской версии страницы доступен changelog программы.
Вернуться к кириллической виртуальной клавиатуре.
Декодер онлайн (decoder online)
Текст успешно скопирован!
Определить исходную кодировку
Содержание
- Как изменить кодировку текстового файла на UTF-8 или Windows 1251
- Блокнот Windows
- Notepad++
- Akelpad
- Как преобразовать utf 8 в windows 1251
- Интересные решения Perl. Вопросы и ответы
- Как конвертировать строку из UTF-8 в Windows-1251?
- Комментарии посетителей сайта
- Как преобразовать utf 8 в windows 1251
- Заметки Лёвика
- web программирование, администрирование и всякая всячина, которая может оказаться полезной
- Если не работает iconv
- iconv array для массива
- Как сменить кодировку файла? Notepad++ редактор с подсветкой синтаксиса, кодировка Utf-8 без BOM
- Чем вообще хорош этот редактор?
Как изменить кодировку текстового файла на UTF-8 или Windows 1251
Кодировка текста – это схема нумерации символов, в которой каждому символу, цифре или знаку присвоено соответствующее число. Кодировку используют для сохранения и обработки текста на компьютере. Каждый раз при сохранении текста в файл он сохраняется с использованием определенной схемы кодирования, и при открытии этого файла необходимо использовать такую же схему, иначе восстановить исходный текст не получится. Самыми популярными кодировками для кириллицы сейчас являются UTF-8, Windows-1251 (CP1251, ANSI).
Для того чтобы программа смогла правильно открыть текстовый файл, иногда приходится вручную менять кодировку, перекодируя текст из одной схемы в другую. Например, не редко возникают проблемы с открытием файлов CSV, XML, SQL, TXT, PHP.
В этой небольшой статье мы расскажем о том, как изменить кодировку текстового файла на UTF-8, Windows-1251 или любую другую.
Блокнот Windows
Если вы используете операционную систему Windows 10 или Windows 11, то вы можете изменить кодировку текста с помощью стандартной программы Блокнот. Для этого нужно открыть текстовый файл с помощью Блокнота и воспользоваться меню « Файл – Сохранить как ».
В открывшемся окне нужно указать новое название для файла, выбрать подходящую кодировку и нажать на кнопку « Сохранить ».
К сожалению, для подобных задач программа Блокнот часто не подходит. С ее помощью нельзя открывать документы большого размера, и она не поддерживает многие кодировки. Например, с помощью Блокнота нельзя открыть текстовые файлы в DOS 866.
Notepad++
Notepad++ (скачать) является одним из наиболее продвинутых текстовых редакторов. Он обладает подсветкой синтаксиса языков программирования, позволяет выполнять поиск и замену по регулярным выражениям, отслеживать изменения в файлах, записывать и воспроизводить макросы, считать хеш-сумы и многое другое. Одной из основных функций Notepad++ является поддержка большого количества кодировок текста и возможность изменения кодировки текстового файла в UTF-8 или Windows 1251.
Для того чтобы изменить кодировку текста с помощью Notepad++ файл нужно открыть в данной программе. Если программа не смогла правильно определить схему кодирования текста, то это можно сделать вручную. Для этого нужно открыть меню « Кодировки – Кириллица » и выбрать нужный вариант.
После открытия текста можно изменить его кодировку. Для этого нужно открыть меню « Кодировки » и выбрать один из вариантов преобразования. Notepad++ позволяет изменить текущую кодировку текста на ANSI (Windows-1251), UTF-8, UTF-8 BOM, UTF-8 BE BOM, UTF-8 LE BOM.
После преобразования файл нужно сохранить с помощью меню « Файл – Сохранить » или комбинации клавиш Ctrl-S.
Akelpad
Akelpad (скачать) – достаточно старая программа для работы с текстовыми файлами, которая все еще актуальна и может быть полезной. Фактически Akelpad является более продвинутой версией стандартной программы Блокнот из Windows. С его помощью можно открывать текстовые файлы большого размера, которые не открываются в Блокноте, выполнять поиск и замену с использованием регулярных выражений и менять кодировку текста.
Для того чтобы изменить кодировку текста с помощью Akelpad файл нужно открыть в данной программе. Если после открытия файла текст не читается, то нужно воспользоваться меню « Файл – Открыть ».
В открывшемся окне нужно выделить текстовый файл, снять отметку « Автовыбор » и выбрать подходящую кодировку из списка. При этом в нижней части окна можно видеть, как будет отображаться текст.
Для того чтобы изменить текущую кодировку текста нужно воспользоваться меню « Файл – Сохранить как » и сохранить документ с указанием новой схемы кодирования.
В отличие от Notepad++, текстовый редактор Akelpad позволяет сохранить файл в практически любой кодировке. В частности, доступны Windows 1251, DOS 886, UTF-8 и многие другие.
Источник
Как преобразовать utf 8 в windows 1251
Интересные решения Perl. Вопросы и ответы
Как конвертировать строку из UTF-8 в Windows-1251?
Есть как минимум 4 варианта:
1. Написать собственную процедуру перекодировки.
В этом случае придется потратить время на изучение алгоритмов.
2. Можно использовать модуль Convert::Cyrillic, однако он испытывает зависимость от модуля Unicode::Map8, который легко установить под *nix, но с поиском модуля под ActiveState Perl 5.8 могут возникнуть проблемы.
3. Можно использовать модуль Text::Iconv, который доступен как для Perl 5.6, так и для Perl 5.8.
4. Если Вы используете Perl 5.8, то конвертирование можно прозвести с помощью Encode:
Опубликовано: 19 ноября 2005 года.
Комментарии посетителей сайта
Григорий | 03.08.2016 17:20 |
Отлично. Ничего лишнего и всё понятно. Спасибо! |
Дмитрий | 25.01.2012 15:46 |
Спасибо, за хороший пример и пояснения! |
Андрей | 25.05.2011 00:43 |
Действительно. Четвертый метод сработал. Спасибо.
Есть ли способ для конвертации массива, например, Пытался использовать но ничего не вышло. Ответ: 07.09.2006 20:20 |
Валерий | 05.09.2006 04:14 |
кстати, может есть какой-нибудь вариант вывода perl’ом в браузер текста в UTF-8 без использования модулей Unicode и Text::Iconv. например, с использованием модуля CGI.
и почему не помогает вывод заголовка? Источник Как преобразовать utf 8 в windows 1251Сообщения: 3665 » width=»100%» style=»BORDER-RIGHT: #719bd9 1px solid; BORDER-LEFT: #719bd9 1px solid; BORDER-BOTTOM: #719bd9 1px solid» cellpadding=»6″ cellspacing=»0″ border=»0″> Сообщения: 27459 Сообщения: 3665 поясните плз, AFAIK utf16le (=Unicode) Native-кодировка начиная с Win2K Источник Заметки Лёвикаweb программирование, администрирование и всякая всячина, которая может оказаться полезнойПри помощи функции php iconv (строго говоря, это не совсем функция PHP, она использует стороннюю библиотеку (есть iconv.dll и php_iconv.dll или iconv.so), которой может не быть на хостинге) легко преобразовать кодировку (например, из windows-1251 в utf-8 и наоборот: Если не работает iconvТ.е. чтобы преобразовать текст из кодировки windows-1251 в UTF-8 следует выполнить: iconv array для массиваМетки: iconv Опубликовано Пятница, Октябрь 21, 2011 в 15:02 в следующих категориях: Без рубрики. Вы можете подписаться на комментарии к этому сообщению через RSS 2.0. Вы можете оставить комментарий. Пинг отключен. Автор будет признателен, если Вы поделитесь ссылкой на статью, которая Вам помогла: html-код (для вставки в ЖЖ, WP, blogger и на страницы сайта) ссылка (для отправки по почте) Как быть с запросом select к базе mssql не понимает кирилицу Следует привести столбцы (или всю базу данных сразу) к соответствующему сравнению (кодировке) Или использовать Nvarchar declare @test TABLE Если изменяю версию php 5.6 то не перекодируется. Не подскажете? Источник Как сменить кодировку файла? Notepad++ редактор с подсветкой синтаксиса, кодировка Utf-8 без BOMNotepad++ — отличный текстовый редактор! В статье о кодировках текста я описал основные моменты, показывающие, почему необходимо учитывать кодировку файла (например, при создании html-страницы). Здесь же я опишу простой способ выставления нужной кодировки текста с помощью простого и быстрого редактора Notepad++. Чтобы скачать данную программу, заходим на официальный сайт — Notepad-plus-plus.org — далее ищем ссылку «download», кликаем по ней и выбираем «Notepad++ v*** Installer», где вместо звёздочек будет текущая версия редактора. Скачиваем и устанавливаем, никаких сложностей при установке нет. Чем вообще хорош этот редактор?Notepad++ понимает php и подсвечивает синтаксис языка. Кликабельно Последняя особенность очень важна, например, при редактировании шаблонов движка вашего сайта (напр., WordPress). Почему? Потому что все файлы WP по умолчанию имеют кодировку Utf-8. Если менять их стандартным блокнотом Windows, то к кодировке Utf-8 добавляется специальная BOM-последовательность. Необязательно знать, что это такое, но из-за неё некоторые функции движка работать вообще не будут. Поэтому так важно, чтобы все файлы шаблонов WP были сохранены в кодировке Utf-8 без BOM. Преобразование в кодировку Utf-8 без BOM Теперь, чтобы открыть текстовый файл данным редактором, надо кликнуть по нему правой кнопкой мышки и выбрать соответствующий пункт меню: Таким образом, установив на свой компьютер программу Notepad++ можно получить многофункциональный редактор текста с подсветкой синтаксиса и возможностью манипуляций с кодировками. Спасибо! Хорошая статья. Утвердился в том, чтобы преобразовывать всегда на «без BOM», раньше постоянно мучился: «Что же использовать?». Ещё раз, спасибо. Огромное спасибо. у меня часто не с кодировками а со шрифтами возникают проблемы.открываешь текстовый файл нотепадом скопированный и сохранённый из командной строки, а там крякозябры. потому что шрифт терминал, а у нотепада сегое уи и не как не сохранить этот файл в сегои уи, хотя изменять шрифт в нотепад можно и читать, но сохранить текст в другом шрифте нельзя =-O а где скачать нормальный нотепад. чтобы без виросов всяких? я, а чего вы с официального сайта не качаете? Там же без вирусов. Источник Adblock |
У меня есть кириллический текст в UTF8, который отображается нормально.
Мне нужно изменить кодировку на windows-1251 так, чтобы кириллический текст так же нормально отображался. И вот что-то не могу понять, как это сделать?
vsemozhebuty
14k2 золотых знака10 серебряных знаков20 бронзовых знаков
задан 6 авг 2020 в 9:29
2
Node.js имеет несколько встроенных средств для конвертации, но, к сожалению, для вашего случая они не подойдут.
-
buffer.transcode()
конвертирует в обе стороны, но только для стандартных кодировок, с которыми обычно и так можно справиться при помощи модуляfs
. -
TextDecoder
в последних версиях Node.js (которые компилируются с полной поддержкой ICU) может читать (декодировать) большой набор кодировок, в том числе'windows-1251'
. ОднакоTextEncoder
может кодировать текст только в UTF-8.
Поэтому вы можете воспользоваться низкоуровневым кодированием из ссылки в комментариях. Или же использовать одну из библиотек, например популярную iconv
или её облегчённый и ускоренный вариант iconv-lite
.
ответ дан 6 авг 2020 в 15:59
vsemozhebutyvsemozhebuty
14k2 золотых знака10 серебряных знаков20 бронзовых знаков
Привет, друзья. Я уже 3 года работаю с вебом, но с таким не встречался еще. В чем суть:
Есть у меня кириллический текст с кодировкой UTF-8 и отображается он нормально.
Мне нужно изменить кодировку на windows-1251 так, чтобы кириллический текст так же нормально читабельно отображался. И вот что-то ну вообще не могу взять в толк, как это сделать?
-
Вопрос заданболее трёх лет назад
-
22327 просмотров
Пригласить эксперта
для большого количества файлов есть однострочник на powershell:
Get-ChildItem folderwithfiles -File | foreach {Get-Content $_.fullname -Encoding UTF8 | Out-File folderwithconvertedfiles$_ -encoding default}
Одна загвоздка : encoding default — берет кодировку системы.
Проверить что это windows 1251 можно так(powershell) :[System.Text.Encoding]::Default.Codepage
Вы имеете в виду, самостоятельно, а не в программном коде? Тогда с помощью Вашего текстового редактора, которым Вы пользуетесь. Например, если Вы предпочитаете Sublime Text, то просто воспользуйтесь пунктом меню File->Save with encoding > Cyrillic (Windows 1251)
-
Показать ещё
Загружается…
07 февр. 2023, в 10:49
10000 руб./за проект
07 февр. 2023, в 10:17
2000 руб./за проект
07 февр. 2023, в 10:08
250000 руб./за проект
Минуточку внимания
Библиотека на языке C для конвертации строк из кодировки UTF-8 в CP1251
Адрес проекта: https://github.com/bravikov/utf8_to_cp1251
- Поставляется в виде исходного кода.
- Написана на языке С89.
- Может быть использована в программах на языке C++.
- Может применяться в программах для микроконтроллеров.
- В библиотеке учтено, что символы Юникод кодируются в UTF-8 разным колличеством
байт (от 1 до 6 включительно). - Подмена символов.
Применение
Вам понадобятся 3 файла:
- bit.h
- utf8_to_cp1251.h
- utf8_to_cp1251.c
Включите utf8_to_cp1251.h в файле, где хотите применить билиотеку. Добавте
utf8_to_cp1251.c в сборку своего проекта. Для конвертации используйте функцию
int convertUtf8ToCp1251(const char * utf8, char * cp1251)
Описание функции смотрие в файле utf8_to_cp1251.h.
Файл test.c не нужно добавлять в сборку, он используется только для тестирования
библиотеки.
Подмена символов
Библиотека позволяет пользователю назначить собственную таблицу перекодировки.
Пользовательская перекодировка может применяться к символам CP1251 из диапазона
от 0x80 до 0xBF включительно. Таблица должна быть отсортирована по возрастанию
кодов Юникод. Помните, что код 0x98 CP1251 никак не задействован, и его можно
переназначить в первую очередь.
Пример:
static const Cp1251 cp1251Table[] = {
{0x98, 0x03C6}, /* φ, GREEK SMALL LETTER PHI */
{0x80, 0x2211}, /* ∑, N-ARY SUMMATION */
{0x81, 0x25BA}, /* ►, BLACK RIGHT-POINTING POINTER */
};
setCustomCp1251Table(cp1251Table, sizeof(cp1251Table) / sizeof(Cp1251));
Ограничение: в строке UTF-8 нельзя использовать символы, которые были замещены.
Так как замещенные и замещающие символы будут кодироваться в CP1251 одним кодом.
Это ограничение не преодолено по двум причинам:
- Экономия вычислительных ресурсов.
- Если символы замещаются, то они не нужны.
Тестирование
Библиотека подвергается двум тестам: с линеным (последовательным) и двоичным
поисками. Тестрирование обязательно при внесении изменений в библиотеку и
необязательно при обычном использовании. Для тестирования библиотеки нужно
выполнить следующии команды.
gcc —std=c89 -D UTF8_TO_CP1251_LINEAR_SEARCH -o test1 test.c utf8_to_cp1251.c; ./test1
gcc —std=c89 -o test2 test.c utf8_to_cp1251.c; ./test2
Авторы
- Дмитрий Бравиков (dmitry@bravikov.pro).
Проблема кодировок часто возникает при написании парсеров, чтении данных из xml и CSV файлов. Ниже представлены способы эту проблему решить.
1
windows-1251 в UTF-8
$text = iconv('windows-1251//IGNORE', 'UTF-8//IGNORE', $text);
echo $text;
PHP
$text = mb_convert_encoding($text, 'UTF-8', 'windows-1251');
echo $text;
PHP
2
UTF-8 в windows-1251
$text = iconv('utf-8//IGNORE', 'windows-1251//IGNORE', $text);
echo $text;
PHP
$text = mb_convert_encoding($text, 'windows-1251', 'utf-8');
echo $text;
PHP
3
Когда ни что не помогает
$text = iconv('utf-8//IGNORE', 'cp1252//IGNORE', $text);
$text = iconv('cp1251//IGNORE', 'utf-8//IGNORE', $text);
echo $text;
PHP
Иногда доходит до бреда, но работает:
$text = iconv('utf-8//IGNORE', 'windows-1251//IGNORE', $text);
$text = iconv('windows-1251//IGNORE', 'utf-8//IGNORE', $text);
echo $text;
PHP
4
File_get_contents / CURL
Бывают случаи когда file_get_contents()
или CURL возвращают иероглифы (ÐлмазнÑе боÑÑ) – причина тут не в кодировке, а в отсутствии BOM-метки.
$text = file_get_contents('https://example.com');
$text = "xEFxBBxBF" . $text;
echo $text;
PHP
Ещё бывают случаи, когда file_get_contents() возвращает текст в виде:
�mw�Ƒ0�����&IkAI��f��j4/{�</�&�h�� ��({�o�����:/��<g���g��(�=�9�Paɭ
Это сжатый текст в GZIP, т.к. функция не отправляет правильные заголовки. Решение проблемы через CURL:
function getcontents($url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_ENCODING, 'gzip');
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
$output = curl_exec($ch);
curl_close($ch);
return $output;
}
echo getcontents('https://example.com');
PHP
12.01.2017, обновлено 02.11.2021
Другие публикации
Отправка e-mail в кодировке UTF-8 с вложенными файлами и возможные проблемы.
JSON (JavaScript Object Notation) – текстовый формат обмена данными, основанный на JavaScript, который представляет собой набор пар {ключ: значение}. Значение может быть массивом, числом, строкой и…
Описание значений глобального массива $_SERVER с примерами.
Так как Instagram и Fasebook ограничили доступ к API, а фото с открытого аккаунта всё же нужно периодически получать и…
В статье представлены различные PHP-расширения для чтения файлов XLS, XLSX, описаны их плюсы и минусы, а также примеры…
Примеры как зарегистрировать бота в Телеграм, описание и взаимодействие с основными методами API.
Для конвертации на php строки из utf-8 в windows-1251 и наоборот, можно использовать следующую функцию:
Описание функции iconv:
string iconv ( string from_kodirovka, string to_kodirovka, string str )
Производит преобразование кодировки символов строки str из начальной кодировки from_kodirovka в конечную to_kodirovka. Возвращает строку в новой кодировке, или FALSE в случае ошибки.
Если добавить //TRANSLIT к параметру out_charset будет включена транслитеризация. Это означает, что вслучае, когда символа нет в конечной кодировке, он заменяется одним или несколькими аналогами. Если добавить //IGNORE, то символы, которых нет в конечной кодировке, будут опущены. Иначе, будет возвращена строка str, обрезанная до первого недопустимого символа.
В случае, если ваш хостинг не поддерживает iconv, для конвертации из utf-8 в win-1251 и наоборот можно использовать следующие функции:
function utf8_to_cp1251($s) { $tbl = $GLOBALS['unicode_to_cp1251_tbl']; $uc = 0; $bits = 0; $r = ""; for($i = 0, $l = strlen($s); $i < $l; $i++) { $c = $s{$i}; $b = ord($c); if($b & 0x80) { if($b & 0x40) { if($b & 0x20) { $uc = ($b & 0x0F) << 12; $bits = 12; } else { $uc = ($b & 0x1F) << 6; $bits = 6; } } else { $bits -= 6; if($bits) { $uc |= ($b & 0x3F) << $bits; } else { $uc |= $b & 0x3F; if($cc = @$tbl[$uc]) { $r .= $cc; } else { $r .= '?'; } } } } else { $r .= $c; } } return $r; }
function cp1251_to_utf8($s) { $tbl = $GLOBALS['cp1251_to_utf8_tbl']; $r = ""; for($i = 0, $l = strlen($s); $i < $l; $i++) { $c = $s{$i}; $b = ord($c); if ($b < 128) { $r .= $c; } else { $r .= @$tbl[$b]; } } return $r; } $unicode_to_cp1251_tbl = array( 0x0402 => "x80", 0x0403 => "x81", 0x201A => "x82", 0x0453 => "x83", 0x201E => "x84", 0x2026 => "x85", 0x2020 => "x86", 0x2021 => "x87", 0x20AC => "x88", 0x2030 => "x89", 0x0409 => "x8A", 0x2039 => "x8B", 0x040A => "x8C", 0x040C => "x8D", 0x040B => "x8E", 0x040F => "x8F", 0x0452 => "x90", 0x2018 => "x91", 0x2019 => "x92", 0x201C => "x93", 0x201D => "x94", 0x2022 => "x95", 0x2013 => "x96", 0x2014 => "x97", 0x2122 => "x99", 0x0459 => "x9A", 0x203A => "x9B", 0x045A => "x9C", 0x045C => "x9D", 0x045B => "x9E", 0x045F => "x9F", 0x00A0 => "xA0", 0x040E => "xA1", 0x045E => "xA2", 0x0408 => "xA3", 0x00A4 => "xA4", 0x0490 => "xA5", 0x00A6 => "xA6", 0x00A7 => "xA7", 0x0401 => "xA8", 0x00A9 => "xA9", 0x0404 => "xAA", 0x00AB => "xAB", 0x00AC => "xAC", 0x00AD => "xAD", 0x00AE => "xAE", 0x0407 => "xAF", 0x00B0 => "xB0", 0x00B1 => "xB1", 0x0406 => "xB2", 0x0456 => "xB3", 0x0491 => "xB4", 0x00B5 => "xB5", 0x00B6 => "xB6", 0x00B7 => "xB7", 0x0451 => "xB8", 0x2116 => "xB9", 0x0454 => "xBA", 0x00BB => "xBB", 0x0458 => "xBC", 0x0405 => "xBD", 0x0455 => "xBE", 0x0457 => "xBF", 0x0410 => "xC0", 0x0411 => "xC1", 0x0412 => "xC2", 0x0413 => "xC3", 0x0414 => "xC4", 0x0415 => "xC5", 0x0416 => "xC6", 0x0417 => "xC7", 0x0418 => "xC8", 0x0419 => "xC9", 0x041A => "xCA", 0x041B => "xCB", 0x041C => "xCC", 0x041D => "xCD", 0x041E => "xCE", 0x041F => "xCF", 0x0420 => "xD0", 0x0421 => "xD1", 0x0422 => "xD2", 0x0423 => "xD3", 0x0424 => "xD4", 0x0425 => "xD5", 0x0426 => "xD6", 0x0427 => "xD7", 0x0428 => "xD8", 0x0429 => "xD9", 0x042A => "xDA", 0x042B => "xDB", 0x042C => "xDC", 0x042D => "xDD", 0x042E => "xDE", 0x042F => "xDF", 0x0430 => "xE0", 0x0431 => "xE1", 0x0432 => "xE2", 0x0433 => "xE3", 0x0434 => "xE4", 0x0435 => "xE5", 0x0436 => "xE6", 0x0437 => "xE7", 0x0438 => "xE8", 0x0439 => "xE9", 0x043A => "xEA", 0x043B => "xEB", 0x043C => "xEC", 0x043D => "xED", 0x043E => "xEE", 0x043F => "xEF", 0x0440 => "xF0", 0x0441 => "xF1", 0x0442 => "xF2", 0x0443 => "xF3", 0x0444 => "xF4", 0x0445 => "xF5", 0x0446 => "xF6", 0x0447 => "xF7", 0x0448 => "xF8", 0x0449 => "xF9", 0x044A => "xFA", 0x044B => "xFB", 0x044C => "xFC", 0x044D => "xFD", 0x044E => "xFE", 0x044F => "xFF", ); $cp1251_to_utf8_tbl = array( 0x80 => "xD0x82", 0x81 => "xD0x83", 0x82 => "xE2x80x9A", 0x83 => "xD1x93", 0x84 => "xE2x80x9E", 0x85 => "xE2x80xA6", 0x86 => "xE2x80xA0", 0x87 => "xE2x80xA1", 0x88 => "xE2x82xAC", 0x89 => "xE2x80xB0", 0x8A => "xD0x89", 0x8B => "xE2x80xB9", 0x8C => "xD0x8A", 0x8D => "xD0x8C", 0x8E => "xD0x8B", 0x8F => "xD0x8F", 0x90 => "xD1x92", 0x91 => "xE2x80x98", 0x92 => "xE2x80x99", 0x93 => "xE2x80x9C", 0x94 => "xE2x80x9D", 0x95 => "xE2x80xA2", 0x96 => "xE2x80x93", 0x97 => "xE2x80x94", 0x99 => "xE2x84xA2", 0x9A => "xD1x99", 0x9B => "xE2x80xBA", 0x9C => "xD1x9A", 0x9D => "xD1x9C", 0x9E => "xD1x9B", 0x9F => "xD1x9F", 0xA0 => "xC2xA0", 0xA1 => "xD0x8E", 0xA2 => "xD1x9E", 0xA3 => "xD0x88", 0xA4 => "xC2xA4", 0xA5 => "xD2x90", 0xA6 => "xC2xA6", 0xA7 => "xC2xA7", 0xA8 => "xD0x81", 0xA9 => "xC2xA9", 0xAA => "xD0x84", 0xAB => "xC2xAB", 0xAC => "xC2xAC", 0xAD => "xC2xAD", 0xAE => "xC2xAE", 0xAF => "xD0x87", 0xB0 => "xC2xB0", 0xB1 => "xC2xB1", 0xB2 => "xD0x86", 0xB3 => "xD1x96", 0xB4 => "xD2x91", 0xB5 => "xC2xB5", 0xB6 => "xC2xB6", 0xB7 => "xC2xB7", 0xB8 => "xD1x91", 0xB9 => "xE2x84x96", 0xBA => "xD1x94", 0xBB => "xC2xBB", 0xBC => "xD1x98", 0xBD => "xD0x85", 0xBE => "xD1x95", 0xBF => "xD1x97", 0xC0 => "xD0x90", 0xC1 => "xD0x91", 0xC2 => "xD0x92", 0xC3 => "xD0x93", 0xC4 => "xD0x94", 0xC5 => "xD0x95", 0xC6 => "xD0x96", 0xC7 => "xD0x97", 0xC8 => "xD0x98", 0xC9 => "xD0x99", 0xCA => "xD0x9A", 0xCB => "xD0x9B", 0xCC => "xD0x9C", 0xCD => "xD0x9D", 0xCE => "xD0x9E", 0xCF => "xD0x9F", 0xD0 => "xD0xA0", 0xD1 => "xD0xA1", 0xD2 => "xD0xA2", 0xD3 => "xD0xA3", 0xD4 => "xD0xA4", 0xD5 => "xD0xA5", 0xD6 => "xD0xA6", 0xD7 => "xD0xA7", 0xD8 => "xD0xA8", 0xD9 => "xD0xA9", 0xDA => "xD0xAA", 0xDB => "xD0xAB", 0xDC => "xD0xAC", 0xDD => "xD0xAD", 0xDE => "xD0xAE", 0xDF => "xD0xAF", 0xE0 => "xD0xB0", 0xE1 => "xD0xB1", 0xE2 => "xD0xB2", 0xE3 => "xD0xB3", 0xE4 => "xD0xB4", 0xE5 => "xD0xB5", 0xE6 => "xD0xB6", 0xE7 => "xD0xB7", 0xE8 => "xD0xB8", 0xE9 => "xD0xB9", 0xEA => "xD0xBA", 0xEB => "xD0xBB", 0xEC => "xD0xBC", 0xED => "xD0xBD", 0xEE => "xD0xBE", 0xEF => "xD0xBF", 0xF0 => "xD1x80", 0xF1 => "xD1x81", 0xF2 => "xD1x82", 0xF3 => "xD1x83", 0xF4 => "xD1x84", 0xF5 => "xD1x85", 0xF6 => "xD1x86", 0xF7 => "xD1x87", 0xF8 => "xD1x88", 0xF9 => "xD1x89", 0xFA => "xD1x8A", 0xFB => "xD1x8B", 0xFC => "xD1x8C", 0xFD => "xD1x8D", 0xFE => "xD1x8E", 0xFF => "xD1x8F", );