sub conv
{
my($str) = @_;
$str =~ tr/\xC0-\xFF\xA8\xB8/\x80-\xAF\xE0-\xEF\xF0\xF1/;
$str;
}
print conv("Привёт!");
Как текст в кодировке win1251 отразить верно в DOS при помощи perl
Вот эта страница:
http://www.autochel.ru/advertise/advertise.php?cmd=search&field=date&order=desc&target=2&marka=0&modif=211&model=0&year1=2004&year2=2007&probeg1=&probeg2=&cena1=&cena2=&colour=0&period=1
В результате получаем примерно следующее:
В HTML
------------------
ID: 168817
Price: 230'000
Model: ВАЗ 2110
Year: 2005
Probeg: 40'000
Color: Нефертити
Date: 10 сентября 0:46
-------------------
А вот в окно дос если выводить эту инфу то ни очень получаеться
-------------------
ID: 168817
Price: 230'000
Model: ┬└╟ 2110
Year: 2005
Probeg: 40'000
Color: ═хЇхЁЄшЄш
Date: 10 ёхэЄ*сЁ* 0:46
------------------
Примечание: Данные в примерах стоящие после двоеточия беруться непосредственно со страниц сайта
Как видно в примере с DOS симолы кирилицы искажены
Как это можно поправить?
перекодировать перед выводом текст в CP866
Цитата: squirL
перекодировать перед выводом текст в CP866
http://search.cpan.org/~mpiotr/Text-Iconv-1.5/Iconv.pm
http://search.cpan.org/~mpiotr/Text-Iconv-1.5/Iconv.pm
Проблема в том, программа на perle работает под виндой, а модуля ppm под винду нет
The Text::Iconv module provides a Perl interface to the iconv() function as defined by the Single UNIX Specification.
Пример только для букв, если нужны спец символы - G и Я.
Код:
Цитата: Nixus
Прочитать стандарты и написать функцию никак?
Пример только для букв, если нужны спец символы - G и Я.
Пример только для букв, если нужны спец символы - G и Я.
Код:
sub conv
{
my($str) = @_;
$str =~ tr/\xC0-\xFF\xA8\xB8/\x80-\xAF\xE0-\xEF\xF0\xF1/;
$str;
}
print conv("Привёт!");
{
my($str) = @_;
$str =~ tr/\xC0-\xFF\xA8\xB8/\x80-\xAF\xE0-\xEF\xF0\xF1/;
$str;
}
print conv("Привёт!");
Спасибо за функцию
Когда я писал запрос я как раз и хотел получить что то типа tr
Я и сам пытался эту замену написать, но никак ни мог найти соответствия символов, да и со стандартами кодировок у меня проблемы
Всё заработало в лучшем виде
Ещё раз спасибо