Страница 1 от 1

Универсален mIRC енкодинг скрипт за кирилица в cp1251 и UTF-8

Публикувано на: 02 Юни 2021 16:51
от boce
Универсален mIRC енкодинг скрипт за кирилица в cp1251 и UTF-8
1. Проблемът Кирилица!
2. Какво представлява cp1251/UTF-8 encoding script by boce
3. Съвместимост
4. Помощ
Проблемът Кирилица!
Повечето от нас вече са на ясно с факта, че всички версии над 6.35 на така обичаният от всички нас irc клиент mIRC премина изцяло в UTF енкодинг, поради факта че това е световен универсален стандарт поддържащ визуализиращ почти всички езици. Всичко това щеше да е прекрасно и безпроблемно, ако тази промяна и преминаване към UTF стандарт и кейсмапинг се беше случила паралелно и в повечето поддържани и популярни IRCD-ta в момента! Уви, това по някаква причина не се случва качествено и без да навлизаме прекалено дълбоко в технически подробности, ще кажем само че това са проблеми свързани с имплементацията на качествен кейсмапинг използващ мултибайт знаци! С две думи какво се случва - от едн астрана IRCD - тата към които се свързваме са настроени да работят в cp1251 а от друга страна новите версии на любимият ни чат клиент mIRC вече не предлага опцията за ръчно задаване на подходящ за мрежата енкодинг! Всичко това с UTF енкодинг базираните мрежи можеби изобщо не е проблем за повечето народи които използват латиница и азбуки базирани на латиница, но не така стоят нещата с кирилицата! Много от утвърдените и популярни мрежи в България, Русия и много други държави използващи кирилица, използват IRCD-та настроени и поддържащи кейсмапинг и енкодинг в cp1251, което прави новите версии на mIRC неизползваеми в тях! От друга страна, при едно успешно преминаване на тези IRCD-тa от cp1251 към UTF енкодинг и кейсмапинг, би създало редица проблеми и неприятности за потребители използващи стари скриптове и irc клиенти настроени вече за cp1251! Като цяло проблемът е многолик и най вероятно, скоро няма да се стигне до утвърден стандарт или унифицирано решение, с две думи всеки се справя както може, и всяка мрежа взима самостоятелно решение по кой път да поеме cp1251 или UTF стандарт! Най неприятното с кирилицата разбира се е, че проблемите са винаги за крайният потребител а имено обикновенният юзер!

Какво представлява cp1251/UTF-8 encoding script by boce
CP1251/UTF-8 encoding script by boce е универсален енкодинг конвертор, предназначен и съвместим с новите версии на mIRC над версия 7.42, чрез който ще забравите напълно за настройки на енкодинг или нечетима кирилица независимо от енкдонга на мрежата в която сте попаднали! Накратко скрипта разпознава всички идващи от IRCD съобщения и графични знаци на кирилица и ако се налага ги конвертира в UTF за да ги покаже в четим за вас формат. От друга страна конвертира всички изходящи от клиента към сървъра съобщения и графични знаци в CP1251, тей като utf-8 мрежите напълно разпознават и дисплейват правилно кирилица в CP1251! Това ви осигурява комфорта да пребивавате и чатите безпроблемно както в CP1251 така и в UTF базирани irc мрежи, забравяйки напълно за проблема енкодинг!

Съвместимост
mIRC версия 7.42 или по нова!

Как да инсталирам?

Начин 1:
Копирайте сорс кода . Стартирайте mIRC и отворете Scripts Editor. Кликнете на таба remote. Кликнете на Fail менюто и изберете New. След като се отвори празен remote script пейстнете сорс кода в него и натиснете бутонът OK!

Сорс код:
# Created by boce
#########################################
# • cp1251toUTF mIRC addon version 1.1.
# • Compatible with mIRC v7.42 and above.
# • The purpose of this addon is to convert cp1251 encoding to UTF
# • and UTF encoding to cp1251. This make it universal.
#########################################
# Copyright © FreeUni.BG Network Team - 2013
#########################################
on ^1:info:*parseline*:*:{ halt }
#########################################
on *:PARSELINE:*:*:{
if ($parsetype == in) {
var %pl = $utfdecode($parseline)
%pl = $replace(%pl,$chr(192),А,$chr(193),Б,$chr(194),В,$chr(195),Г,$chr(196),Д,$chr(197),Е,$chr(198),Ж,$chr(199),З,$chr(200),И,$chr(201),Й,$chr(202),К,$chr(203),Л,$chr(204),М,$chr(205),Н,$chr(206),О,$chr(207),П,$chr(208),Р,$chr(209),С,$chr(210),Т,$chr(211),У,$chr(212),Ф,$chr(213),Х,$chr(214),Ц,$chr(215),Ч,$chr(216),Ш,$chr(217),Щ,$chr(218),Ъ,$chr(219),Ы,$chr(220),Ь,$chr(221),Э,$chr(222),Ю,$chr(223),Я,$chr(224),а,$chr(225),б,$chr(226),в,$chr(227),г,$chr(228),д,$chr(229),е,$chr(230),ж,$chr(231),з,$chr(232),и,$chr(233),й,$chr(234),к,$chr(235),л,$chr(236),м,$chr(237),н,$chr(238),о,$chr(239),п,$chr(240),р,$chr(241),с,$chr(242),т,$chr(243),у,$chr(244),ф,$chr(245),х,$chr(246),ц,$chr(247),ч,$chr(248),ш,$chr(249),щ,$chr(250),ъ,$chr(251),ы,$chr(252),ь,$chr(253),э,$chr(254),ю,$chr(255),я)
.parseline -itu0 %pl
return
}
if ($parsetype == out) {
var %pl = $parseline
%pl = $replace(%pl,А,$chr(192),Б,$chr(193),В,$chr(194),Г,$chr(195),Д,$chr(196),Е,$chr(197),Ж,$chr(198),З,$chr(199),И,$chr(200),Й,$chr(201),К,$chr(202),Л,$chr(203),М,$chr(204),Н,$chr(205),О,$chr(206),П,$chr(207),Р,$chr(208),С,$chr(209),Т,$chr(210),У,$chr(211),Ф,$chr(212),Х,$chr(213),Ц,$chr(214),Ч,$chr(215),Ш,$chr(216),Щ,$chr(217),Ъ,$chr(218),Ы,$chr(219),Ь,$chr(220),Э,$chr(221),Ю,$chr(222),Я,$chr(223),а,$chr(224),б,$chr(225),в,$chr(226),г,$chr(227),д,$chr(228),е,$chr(229),ж,$chr(230),з,$chr(231),и,$chr(232),й,$chr(233),к,$chr(234),л,$chr(235),м,$chr(236),н,$chr(237),о,$chr(238),п,$chr(239),р,$chr(240),с,$chr(241),т,$chr(242),у,$chr(243),ф,$chr(244),х,$chr(245),ц,$chr(246),ч,$chr(247),ш,$chr(248),щ,$chr(249),ъ,$chr(250),ы,$chr(251),ь,$chr(252),э,$chr(253),ю,$chr(254),я,$chr(255))
.parseline -otu0 %pl
return
}
}
#########################################
on *:load:{ .echo -a 11,14cp1251toUTF mIRC addon version 1.0 by Ciff & rorshah loaded sucessfully! | .echo -a 4 mIRC need restart! | .timer 1 3 .exit -r | halt }
on *:unload:{ .echo -a 11,14cp1251toUTF mIRC addon version 1.0 by Ciff & rorshah unloaded sucessfully! | halt }
#########################################

За помощ
сървър: irc.uni-bg.eu
канал: #Bulgaria
лична: /query boce