Был такой код:
text
while ($data = fread($fp, 4096)) {
if (!xml_parse($xml_parser, $data, feof($fp))) {
die(sprintf("XML error: %s at line %d\n",
xml_error_string(xml_get_error_code($xml_parser)),
xml_get_current_line_number($xml_parser)));
}
}Который без проблем парсил xml в кодировке windows-1251
Но после установки на сервер memcached и eaccelerator стал выдавать ошибку.
Я заменил код на следующий:
text
while ($data = fread($fp, 4096)) {
if (!xml_parse($xml_parser, iconv('cp1251', 'UTF-8', $data), feof($fp))) {
die(sprintf("XML error: %s at line %d\n",
xml_error_string(xml_get_error_code($xml_parser)),
xml_get_current_line_number($xml_parser)));
}
}Теперь все работает, но думаю это не совсем правильное решение проблемы. Что подскажите, где копать?