Автор Тема: Проблема с XML::Parser.  (Прочитано 3130 раз)

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

Оффлайн Versatile

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 1
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Проблема с XML::Parser.
« : 26 Декабря 2005, 05:30:36 »
Наткнулся на проблему следующего характера: есть файл xml (не важно какого содержания), есть package в котором функция прасинга и есть перловый скрипт, который эту ф-цию вызывает.
в итоге выполнения, создается впечатление, что парсер переключает кодировку вывода в utf. такого по идее быть не должно. может кто-то сталкивался с подобным?
еще интересно, что в другом скрипте, где используется тот же парсер все проходит нормально.

вызов парсера:
   my $parser = new XML::Parser(Style => "Subs");
   $parser->setHandlers(Start => \\&start_tag,
            End => \\&end_tag);
   my @tree = $parser->parsefile($ConfigFile);

вызов функции:
   use CGI::Carp qw/fatalsToBrowser/;
   open(STDERR, ">&STDOUT");
   select(STDOUT); $| = 1;
   select(STDERR); $| = 1;

   ParseConfig::parse_main_config("config.xml");

далее идет коннект к базе и т.д. и в конце:
   print "Content-type: text/html\\n\\n";
   print $c; # Сюда собирается вся страничка

Оффлайн ondr

  • Модератор
  • Глобальный модератор
  • Старожил
  • *****
  • Сообщений: 440
  • +0/-0
  • 0
    • Просмотр профиля
Проблема с XML::Parser.
« Ответ #1 : 26 Декабря 2005, 13:06:09 »
perldoc XML::Parser

...
Whatever the encoding in the original document, the string is returned to the handler in UTF-8.
...
0 OK, 0:1

 

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