HaRT wrote:Vasilich wrote:различный современный софт, сохраняя данные в формате UTF-8 не ставит BOM и, соответственно, не ожидает его там встретить.
Вместо повторения этой мантры лучше бы привели хотя бы пару примеров такого софта, кроме вышеупомянутого PHP.
У меня нет примеров обратного. По работе обмен данными происходит между самым широким набором платформ (Win/Mac/Linux/FreeBSD и т.п.). Люди работают с тем, что им удобно.
BOM воспринимается как мусор в начале файла, который портит данные (я несколько раз нарывался, когда отправлял файлы, созданные в FAR).
Для интереса решил глянуть как сохраняет данные такой малоизвестный продукт, как MS Office (просто знаю, что пользователи под Mac сохраняют в Excell инфу и грузят ее в разные подсистемы) - никаких BOM не обнаружено, чистый UTF-8 файл в формате CSV.
Под виндузой, сохраняю файл в excell (Книга1.xlsx), открываю содежримое:
Code: Select all
0000000000: 3C 3F 78 6D 6C 20 76 65 │ 72 73 69 6F 6E 3D 22 31 <?xml version="1
0000000010: 2E 30 22 20 65 6E 63 6F │ 64 69 6E 67 3D 22 55 54 .0" encoding="UT
0000000020: 46 2D 38 22 20 73 74 61 │ 6E 64 61 6C 6F 6E 65 3D F-8" standalone=
ну не используется BOM за ненадобностью. Я уж молчу про всевозможные дампы инфы которыми обмениваются кроссплатформенные решения.
И, честно говоря, холивары вокруг BOM как-бы не имеют смысла. Если какой-то экзотический софт вставляет его - ну и Бог с ним. Мне было важно получить информацию относительно FAR: как оказалось, мой любимый инструмент можно настроить для безгеморройной работы, что не может не радовать (правда, далеко не самым очевидным способом).
Огромное спасибо за подсказку как избавиться от BOM. Большая просьба - включить этот момент в FAQ - море народу мучается.