Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Общие вопросы > снова кодировка


Автор: Agares 3.9.2008, 11:06
Есть парсер xls Spreadsheet::ParseExcel, когда я меняю кодировку в отпарсенных данных:
Код

if ($cell->{Code} eq 'ucs2')
                                                {
                                                        #$inf->{$i}->{$col} = decode("UCS-2BE", $cell->{Val});
                                                 } 
                                                else
                                                {
                                                        $inf->{$i}->{$col} = $cell->{Val};
                                                }

то отпарсенные данные отображаются нормально. Но вот кодировка всей страницы (кроме элементов xls) портиться decode убрать, то кодировка страницы норм, но отпарсенные данные тогда отображаются "криво". 

Помогите решить проблему 

Автор: sir_nuf_nuf 3.9.2008, 12:23
не очень понятно, что вообще происходит..
ты парсишь XLS и выводишь результат на Web страницу вместе с другими данными ?

тогда тебе нужно сделать так, что бы данные выводимые на страницу были в одной кодировке.
Самый простой вариант - привести те данные которые ты получил их XLS к кодировки остальных.
например так:

Код

use Encode qw(from_to);
$inf->{$i}->{$col} = from_to($cell->{Val}, "UCS-2BE", "KOI8-R");
# за место KOI8 должна стоять кодировка страницы

Автор: Agares 4.9.2008, 10:58
Не помогло, но вопрос уже отпал.. спасибо

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)