On 2005.05.17 at 14:15:46 +0400, Artem Chuprina wrote: > >>Наверное, там в соответствующей BIFF-записи прописана неправильная > >>кодировка. Можно найти в файле эту запись, и исправить там то что там > >>написано на 1251. (оно всё в двоичном виде там). Можно почитать > >>исходники xls2csv на тему того, как он определяет кодировку. > >> > > E> не совсем в тему - созданные 1С xls неправильно открываются OO и Gnumeric > E> (неверная кодировка). xls2cvs тоже если не указать ему "-s > E> cp1251" неправильно отображает эти xls. При этом микрософтовский офис > E> показывает их правильно. > > E> в чем дело и что можно с этим сделать? может быть правда сделать > E> небольшую утилитку, позволяющую поправить кодировку в офисных > E> файлах? > > Дело, как я понимаю, в том, что кодировка там не указывается, а успех MS > Office происходит оттого, что когда кодировку не указали, он берет > текущую системную OEM. Попробуй открыть тот же документ на английской
Только не OEM, а ANSI. В принципе, мне НИКОГДА не попадались файлы Excel, где отсутствовала бы BIFF-запись CODEPAGE. И попдались rtf-файлы на русском языке, где было указано \ansicpg1252 (собственно, для этих файлов в catdoc и введено правило, что -s в командной строке оверрайдит то, что написано в файле) По идее, если в /etc/catdocrc source_charset прописан, то для файлов БЕЗ указания кодировки должне использоваться указанный там charset без дополнительных действий пользователя. Но указание кодировки в файле, естественно, имеет приоритет над catdocrc. В общем - надо разбираться - то ли там неправильный чарсет прописан, то-ли вообще отсутствует запись codepage. В зависимости от этого правка будет разной сложности. В первом - два байта подправить, во втором - добавлять запись и корректировать длинны потоков в OLE directory. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

