Конвертирование utf 8 в windows 1251

Бесплатный онлайн-перекодировщик текста в кириллице - распознавание всех вариантов перекодировок.

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)

Текст успешно скопирован!

Определить исходную кодировку

При онлайн передаче электронных документов (почтовая рассылка, скачивание с сайта и т.д.) в файле может сбиться кодировка. В результате вместо привычных слов, предложений и абзацев вы получаете последовательность непонятных символов. Так случается из-за того, что кодирование и декодирование информации происходит некорректно, и устройства отправителя и получателя просто не понимают друг друга. Чтобы расшифровать зашифрованный текст, обратитесь к нашему онлайн декодеру. Decoder (дешифратор или декодер онлайн) от компании Involta способен подобрать нужную кодировку и изменить текст так, чтобы Вы смогли быстро прочитать непонятные «иероглифы». Наш инструмент имеет множество возможностей для декодирования. Он позволяет расшифровать base64 и определить исходные данные, а также перевести информацию в любую другую кодировку онлайн, например, UTF-8, CP-1251, ASCII. Decoder может функционировать как шифратор и дешифратор, то есть вы можете закодировать текст и защитить его содержимое от посторонних глаз. Если вам прислали ссылку с непонятным адресом, то URL-decoder online покажет, на какой сайт она ведет. Еще одна полезная функция сервиса – создать или раскодировать транслит, если нужно сделать перевод с кириллицы на латиницу и наоборот. Декодер работает в режиме онлайн и доступен на любом устройстве с доступом в интернет.

Содержание

  1. Как изменить кодировку текстового файла на UTF-8 или Windows 1251
  2. Блокнот Windows
  3. Notepad++
  4. Akelpad
  5. Как преобразовать utf 8 в windows 1251
  6. Интересные решения Perl. Вопросы и ответы
  7. Как конвертировать строку из UTF-8 в Windows-1251?
  8. Комментарии посетителей сайта
  9. Как преобразовать utf 8 в windows 1251
  10. Заметки Лёвика
  11. web программирование, администрирование и всякая всячина, которая может оказаться полезной
  12. Если не работает iconv
  13. iconv array для массива
  14. Как сменить кодировку файла? Notepad++ редактор с подсветкой синтаксиса, кодировка Utf-8 без BOM
  15. Чем вообще хорош этот редактор?

Как изменить кодировку текстового файла на UTF-8 или Windows 1251

Кодировка текста – это схема нумерации символов, в которой каждому символу, цифре или знаку присвоено соответствующее число. Кодировку используют для сохранения и обработки текста на компьютере. Каждый раз при сохранении текста в файл он сохраняется с использованием определенной схемы кодирования, и при открытии этого файла необходимо использовать такую же схему, иначе восстановить исходный текст не получится. Самыми популярными кодировками для кириллицы сейчас являются UTF-8, Windows-1251 (CP1251, ANSI).

Для того чтобы программа смогла правильно открыть текстовый файл, иногда приходится вручную менять кодировку, перекодируя текст из одной схемы в другую. Например, не редко возникают проблемы с открытием файлов CSV, XML, SQL, TXT, PHP.

В этой небольшой статье мы расскажем о том, как изменить кодировку текстового файла на UTF-8, Windows-1251 или любую другую.

Блокнот Windows

Если вы используете операционную систему Windows 10 или Windows 11, то вы можете изменить кодировку текста с помощью стандартной программы Блокнот. Для этого нужно открыть текстовый файл с помощью Блокнота и воспользоваться меню « Файл – Сохранить как ».

082621 0816 1

В открывшемся окне нужно указать новое название для файла, выбрать подходящую кодировку и нажать на кнопку « Сохранить ».

082621 0816 2

К сожалению, для подобных задач программа Блокнот часто не подходит. С ее помощью нельзя открывать документы большого размера, и она не поддерживает многие кодировки. Например, с помощью Блокнота нельзя открыть текстовые файлы в DOS 866.

Notepad++

Notepad++ (скачать) является одним из наиболее продвинутых текстовых редакторов. Он обладает подсветкой синтаксиса языков программирования, позволяет выполнять поиск и замену по регулярным выражениям, отслеживать изменения в файлах, записывать и воспроизводить макросы, считать хеш-сумы и многое другое. Одной из основных функций Notepad++ является поддержка большого количества кодировок текста и возможность изменения кодировки текстового файла в UTF-8 или Windows 1251.

Для того чтобы изменить кодировку текста с помощью Notepad++ файл нужно открыть в данной программе. Если программа не смогла правильно определить схему кодирования текста, то это можно сделать вручную. Для этого нужно открыть меню « Кодировки – Кириллица » и выбрать нужный вариант.

082621 0816 3

После открытия текста можно изменить его кодировку. Для этого нужно открыть меню « Кодировки » и выбрать один из вариантов преобразования. Notepad++ позволяет изменить текущую кодировку текста на ANSI (Windows-1251), UTF-8, UTF-8 BOM, UTF-8 BE BOM, UTF-8 LE BOM.

082621 0816 4

После преобразования файл нужно сохранить с помощью меню « Файл – Сохранить » или комбинации клавиш Ctrl-S.

Akelpad

Akelpad (скачать) – достаточно старая программа для работы с текстовыми файлами, которая все еще актуальна и может быть полезной. Фактически Akelpad является более продвинутой версией стандартной программы Блокнот из Windows. С его помощью можно открывать текстовые файлы большого размера, которые не открываются в Блокноте, выполнять поиск и замену с использованием регулярных выражений и менять кодировку текста.

Для того чтобы изменить кодировку текста с помощью Akelpad файл нужно открыть в данной программе. Если после открытия файла текст не читается, то нужно воспользоваться меню « Файл – Открыть ».

082621 0816 5

В открывшемся окне нужно выделить текстовый файл, снять отметку « Автовыбор » и выбрать подходящую кодировку из списка. При этом в нижней части окна можно видеть, как будет отображаться текст.

082621 0816 6

Для того чтобы изменить текущую кодировку текста нужно воспользоваться меню « Файл – Сохранить как » и сохранить документ с указанием новой схемы кодирования.

082621 0816 7

В отличие от Notepad++, текстовый редактор Akelpad позволяет сохранить файл в практически любой кодировке. В частности, доступны Windows 1251, DOS 886, UTF-8 и многие другие.

Источник

Как преобразовать utf 8 в windows 1251

n 181 s

Интересные решения 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
Действительно. Четвертый метод сработал. Спасибо.

Есть ли способ для конвертации массива, например,
Encode::from_to(@var_arr, ‘windows-1251’, ‘utf-8’);

Пытался использовать
use open OUT => ‘:utf8’;
use open ‘:utf8’;

но ничего не вышло.

Ответ: 07.09.2006 20:20
Для массива используйте функцию map или же обыкновенный цикл.

Валерий 05.09.2006 04:14
кстати, может есть какой-нибудь вариант вывода perl’ом в браузер текста в UTF-8 без использования модулей Unicode и Text::Iconv. например, с использованием модуля CGI.

и почему не помогает вывод заголовка?
print «Content-type: text/html; charset=utf-8

Источник

Как преобразовать utf 8 в windows 1251

Сообщения: 3665
Благодарности: 1562

» width=»100%» style=»BORDER-RIGHT: #719bd9 1px solid; BORDER-LEFT: #719bd9 1px solid; BORDER-BOTTOM: #719bd9 1px solid» cellpadding=»6″ cellspacing=»0″ border=»0″>

contributor

Сообщения: 27459
Благодарности: 8022

Сообщения: 3665
Благодарности: 1562

поясните плз, 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 следует выполнить:
mb_convert_encoding($s,»UTF-8″,»windows-1251″);

iconv array для массива

Метки: iconv

Опубликовано Пятница, Октябрь 21, 2011 в 15:02 в следующих категориях: Без рубрики. Вы можете подписаться на комментарии к этому сообщению через RSS 2.0. Вы можете оставить комментарий. Пинг отключен.

Автор будет признателен, если Вы поделитесь ссылкой на статью, которая Вам помогла:
BB-код (для вставки на форум)

html-код (для вставки в ЖЖ, WP, blogger и на страницы сайта)

ссылка (для отправки по почте)

Как быть с запросом select к базе mssql не понимает кирилицу
“select
[Название]
,[номер]
, [Removed]
from imdb.dbo. Оконечное оборудование “;

Следует привести столбцы (или всю базу данных сразу) к соответствующему сравнению (кодировке)
ALTER DATABASE COLLATE Cyrillic_General_CI_AS

Или использовать Nvarchar

declare @test TABLE
(
Col1 varchar(40),
Col2 varchar(40),
Col3 nvarchar(40),
Col4 nvarchar(40)
)
INSERT INTO @test VALUES
(‘иытание’,N’иытание’,’иытание’,N’иытание’)
SELECT * FROM @test

Если изменяю версию php 5.6 то не перекодируется. Не подскажете?

Источник

Как сменить кодировку файла? Notepad++ редактор с подсветкой синтаксиса, кодировка Utf-8 без BOM

money birds728

notepad++ download

Notepad++ — отличный текстовый редактор!

В статье о кодировках текста я описал основные моменты, показывающие, почему необходимо учитывать кодировку файла (например, при создании html-страницы). Здесь же я опишу простой способ выставления нужной кодировки текста с помощью простого и быстрого редактора Notepad++.

Чтобы скачать данную программу, заходим на официальный сайт — Notepad-plus-plus.org — далее ищем ссылку «download», кликаем по ней и выбираем «Notepad++ v*** Installer», где вместо звёздочек будет текущая версия редактора. Скачиваем и устанавливаем, никаких сложностей при установке нет.

Чем вообще хорош этот редактор?

notepad++ highlight

Notepad++ понимает php и подсвечивает синтаксис языка. Кликабельно

Последняя особенность очень важна, например, при редактировании шаблонов движка вашего сайта (напр., WordPress). Почему? Потому что все файлы WP по умолчанию имеют кодировку Utf-8. Если менять их стандартным блокнотом Windows, то к кодировке Utf-8 добавляется специальная BOM-последовательность. Необязательно знать, что это такое, но из-за неё некоторые функции движка работать вообще не будут. Поэтому так важно, чтобы все файлы шаблонов WP были сохранены в кодировке Utf-8 без BOM.

notepad++ menu

Преобразование в кодировку Utf-8 без BOM

Теперь, чтобы открыть текстовый файл данным редактором, надо кликнуть по нему правой кнопкой мышки и выбрать соответствующий пункт меню:

Save as notepad++

Таким образом, установив на свой компьютер программу Notepad++ можно получить многофункциональный редактор текста с подсветкой синтаксиса и возможностью манипуляций с кодировками.

Спасибо! Хорошая статья. Утвердился в том, чтобы преобразовывать всегда на «без BOM», раньше постоянно мучился: «Что же использовать?». Ещё раз, спасибо.

Огромное спасибо.
Со своим сайд баром замучался, еще не финиш, но когда читаешь и видишь … Спасибо.. Звонок другу не понадобился… =)

у меня часто не с кодировками а со шрифтами возникают проблемы.открываешь текстовый файл нотепадом скопированный и сохранённый из командной строки, а там крякозябры. потому что шрифт терминал, а у нотепада сегое уи и не как не сохранить этот файл в сегои уи, хотя изменять шрифт в нотепад можно и читать, но сохранить текст в другом шрифте нельзя =-O

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

я, а чего вы с официального сайта не качаете? Там же без вирусов.

Источник

Adblock
detector» width=»100%» style=»BORDER-RIGHT: #719bd9 1px solid; BORDER-LEFT: #719bd9 1px solid; BORDER-BOTTOM: #719bd9 1px solid» cellpadding=»6″ cellspacing=»0″ border=»0″>

У меня есть кириллический текст в UTF8, который отображается нормально.
Мне нужно изменить кодировку на windows-1251 так, чтобы кириллический текст так же нормально отображался. И вот что-то не могу понять, как это сделать?

vsemozhebuty's user avatar

vsemozhebuty

14k2 золотых знака10 серебряных знаков20 бронзовых знаков

задан 6 авг 2020 в 9:29

E. Smailov's user avatar

2

Node.js имеет несколько встроенных средств для конвертации, но, к сожалению, для вашего случая они не подойдут.

  1. buffer.transcode() конвертирует в обе стороны, но только для стандартных кодировок, с которыми обычно и так можно справиться при помощи модуля fs.

  2. TextDecoder в последних версиях Node.js (которые компилируются с полной поддержкой ICU) может читать (декодировать) большой набор кодировок, в том числе 'windows-1251'. Однако TextEncoder может кодировать текст только в UTF-8.

Поэтому вы можете воспользоваться низкоуровневым кодированием из ссылки в комментариях. Или же использовать одну из библиотек, например популярную iconv или её облегчённый и ускоренный вариант iconv-lite.

ответ дан 6 авг 2020 в 15:59

vsemozhebuty's user avatar

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 одним кодом.
Это ограничение не преодолено по двум причинам:

  1. Экономия вычислительных ресурсов.
  2. Если символы замещаются, то они не нужны.

Тестирование

Библиотека подвергается двум тестам: с линеным (последовательным) и двоичным
поисками. Тестрирование обязательно при внесении изменений в библиотеку и
необязательно при обычном использовании. Для тестирования библиотеки нужно
выполнить следующии команды.

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 в PHP

JSON (JavaScript Object Notation) – текстовый формат обмена данными, основанный на JavaScript, который представляет собой набор пар {ключ: значение}. Значение может быть массивом, числом, строкой и…

Массив $_SERVER

Описание значений глобального массива $_SERVER с примерами.

Получить фото из Instagram без API

Так как Instagram и Fasebook ограничили доступ к API, а фото с открытого аккаунта всё же нужно периодически получать и…

Обзор PHP расширений для чтения файлов Excel

В статье представлены различные PHP-расширения для чтения файлов XLS, XLSX, описаны их плюсы и минусы, а также примеры…

Бот Телеграм на PHP

Примеры как зарегистрировать бота в Телеграм, описание и взаимодействие с основными методами 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", 
);

Понравилась статья? Поделить с друзьями:
  • Компьютер часто зависает что делать windows 10
  • Конвертеры pdf в word для windows 10
  • Компьютер фризит на рабочем столе windows
  • Конвертер файлов heic в jpg скачать бесплатно для windows
  • Компьютер уходит в спящий режим хотя все отключено windows 10