Проблема с первым символом в формате fb2

Я не могу прочитать многие книги загруженные в формате fb2 на Palm Fiction и Mac Book Reader. Последний не распознает фаилы как fb2 совсем а Palm Fiction распознает как техт и показывает XML. Проблема очевидно в первом нечитаемом символе который идет до начала XML. Фаилы без етого символа распознаются и читаются. Как от него избавиться проще всего? Проблема наверное стандартна, но я не нашел никаких идей на форуме...

peterb написал:
Я не могу прочитать многие книги загруженные в формате fb2 на Palm Fiction и Mac Book Reader. Последний не распознает фаилы как fb2 совсем а Palm Fiction распознает как техт и показывает XML. Проблема очевидно в первом нечитаемом символе который идет до начала XML. Фаилы без етого символа распознаются и читаются. Как от него избавиться проще всего? Проблема наверное стандартна, но я не нашел никаких идей на форуме...

Вообще-то такого быть не должно. Первый нечитаемый символ - это BOM, Byte Order Mark, это часть спецификации XML, а не fb2. Без него XML будет некорректным. У Маков вроде бы да, бывают проблема с BOMами, но это проблема Мака, точнее, читалки. Нельзя ли её проапгрейдить? А на Палме вроде я и не слыхал о таких проблемах...

У Вас не читаются абсолютно все фб2-файлы с BOM, или только некоторые? Если некоторые, то, возможно, в них что-то напутано. Я бы попробовал прогнать их через программку Fb2Fix. Авось поможет.

Я проверял не все мои файлы. Однако из тех что я проверил все что не читаются имеют этот символ а все что читаются нет. Интересно что никакие текстовые редакторы на Маке этот символ не показывают вообще. Его можно увидеть только бинарной читалкой. Большинство файлов этого символа не имеет изначально - так что не похоже что это часть XML. Те что имеют в основном из litres.

peterb написал:
Большинство файлов этого символа не имеет изначально - так что не похоже что это часть XML. Те что имеют в основном из litres.

ЕЯПП, оно часть, если кодировка - UTF8 (и другие многобайтные?). Насчет однобайтных кодировок - не уверен, возможно BOM там необязателен.

Можно попробовать прогнать через Fb2Fix с переводом кодировки в windows-1251. Потеряете умляуты, но если Fb2Fix при этом вырежет BOM, то сможете читать.

X