SAX читает win-1251 xml как в utf-8

Cooper

Guest
SAX читает win-1251 xml как в utf-8

Имеется документ xml, который начинается с:
<?xml version="1.0" encoding="windows-1251"?>
Имеется парсер создаваемый без указания кодировки. Читает отлично. Но как-то САМ преобразовывает текст в utf-8. (причем указание на кодировку в заголовке xml-файла не игнорирует точно).
Проверял под win дома. Apache 1.3, php5...
Даже обидно - многим такое преобразование нужно, и они думают как сделать, а мне - нет, но оно есть...
Что я не так могу делать?
 

Cooper

Guest
??? Стандартный...
см. функции xml_* (xml_create_parser, xml_parse, ...)

Не я конечно могу обратно преобразовать iconv'ом, но все равно не понимаю почему парсер сам меняет кодировку...
 

Profic

just Profic (PHP5 BetaTeam)
Внутренняя кодировка у него UTF8, вот в ней он и отдает.
 

Cooper

Guest
Тогда:
1. Можно ли это исправить?
2. Почему же я вижу на форуме темы как win преобразовать в utf-8? У них же это автоматом не происходит...
 

Profic

just Profic (PHP5 BetaTeam)
1. Можно. Использовать iconv.
2. Где? Если там php4, то да, не происходит:
The optional encoding specifies the character encoding for the input/output in PHP 4. Starting from PHP 5, the input encoding is automatically detected, so that the encoding parameter specifies only the output encoding. In PHP 4, the default output encoding is the same as the input charset. ... In PHP 5.0.0 and 5.0.1, the default output charset is ISO-8859-1, while in PHP 5.0.2 and upper is UTF-8. The supported encodings are ISO-8859-1, UTF-8 and US-ASCII.
(c) [m]xml_parser_create[/m]()
 
Сверху