Автор Тема: utf8->win1251  (Прочитано 4037 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн glebushka

  • студент
  • Ветеран
  • *****
  • Сообщений: 944
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.intellectuals.ru
utf8->win1251
« : 29 Апреля 2004, 00:40:23 »
Не буду оригинальным:))
Задача стоит обратная задаче в соседнем треде:)
Есть строка в utf8.
Нужно получить win1251.
Encode не предлагать. (Версия Perl 5.6.1.).
А Convert::Cyrillic не работает:(
Пишу:
#!/usr/bin/perl -w
use strict;
use Convert::Cyrillic;
print "Content-type: text/html; Charset=windows-1251\\n\\n";
my $string;
#..... тут считываем в переменную $string текст в формате utf8
my $src = \'UTF-8\';
my $dst = \'WIN\';
my $result = Convert::Cyrillic::cstocs($src, $dst, $string);
print "Извлекаем данные:";
print $result;
exit;

Результат можно посмотреть по адресу http://abik.ru/cgi-bin/test.cgi
Кстати, perldoc Convert::Cyrillic опечатка:)
В части SYNOPSIS:
use Convert::Cyrillic;
$src = \'koi8\';
$dst = \'win\';
$SrcBuf = \'text in koi8 here\';
$DstBuf = Convert::Cyrillic::cstocs ($Src, $Dst, $SrcBuf);
И всё таки вопрос: почему не работает перекодировка?:(
Ну к чему все это, лучше бы водки выпили...

Оффлайн Wyclef

  • hello_worlder
  • Старожил
  • ****
  • Сообщений: 307
  • +0/-0
  • 2
    • Просмотр профиля
    • http://thug.narod.ru
utf8->win1251
« Ответ #1 : 29 Апреля 2004, 03:29:31 »
UTF-8 -> UTF8

Цитировать
Cyrillic.pm
----------

sub cstocs {
my ($Src, $Dst, $Buf) = @_;
$Src = uc ($Src); $Src .= \'8\' if $Src eq \'KOI\';
$Dst = uc ($Dst); $Dst .= \'8\' if $Dst eq \'KOI\';

if ([b]$Src eq \'UTF8\'[/b]) {
my $map = Unicode::Map8->new("cp1251");

$Buf = $map->to8 (Unicode::String::utf8 ($Buf)->ucs2);
$Src = \'WIN\';
}

if ([b]$Dst eq \'UTF8\'[/b]) {

It\'s nice to be important, but it\'s more important to be nice!

Оффлайн glebushka

  • студент
  • Ветеран
  • *****
  • Сообщений: 944
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.intellectuals.ru
utf8->win1251
« Ответ #2 : 29 Апреля 2004, 22:57:38 »
Wyclef, спасиба!:)
работает!:)
[OFF]Вот и читай после этого perldoc:))))[/OFF]
Ну к чему все это, лучше бы водки выпили...

Оффлайн commander

  • Developer
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1298
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.webtips.ru
utf8->win1251
« Ответ #3 : 18 Августа 2006, 14:16:48 »
up ...
млин целый час сегодня с из-за этой опечатки потерял... (
And no religion too...

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28