Беда с кодировкой при импорте Excel XML

Автор msblast, 17 сентября 2015, 19:44

0 Пользователи и 1 гость просматривают эту тему.

msblast

Для нашей организации автоматически формируется xls, которая на самом деле MS Excel 2003 XML с кодовой страницей UTF-8. Excel открывал ее нормально, но в Libre Office вместо текста иероглифы. Если ее перекодировать в windows-1251 и в блокноте вместо charset=utf-8 прописать charset=windows-1251, то все ОК. Но пользователи этого точно делать не будут, это даже не обсуждается. Они скорее заставят MS Office поставить. Также помогает переименовывание расширения файла в htm. В этом случае файл открывается во Writer, где никаких иероглифов нет. Но пользователи и этот выход не примут. Им удобнее открывать файл, нажимая на ОК в браузере, и они вряд ли захотят сохранять файл на диск, искать его там, переключаться на английский язык, вводить после точки буквосочетание htm...
Много гуглил как на русских форумах, так и на англоязычных, но решения так и не нашел. Помогите, не дайте скатиться обратно в MS Office!

kompilainenn

хм

content="text/html", при этом расширение .xls , твою ж дивизию, МСО, прекрати =(

Ну на самом деле, неужели ЛО не понимает юникод? О_о
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

rami

Это проблема фильтров импорта. В Apache OpenOffice 4.1.1 открывается почти нормально (в ячейке А1 маленький кракозябрик). В LibreOffice наверно отсутствует нужный фильтр :(

msblast

Вот спасибо! Вы меня по-настоящему выручили! Идея проверить на Open Office даже не пришла мне в голову! Значит, завтра поставлю Open Office на всех машинах, и периодически буду проверять новые версии Libre Office на этом файле.
А вообще, трабла действительно весьма странная. Когда я сегодня днем отчаянно гуглил, то в англоязычной рассылке наткнулся на обсуждение того, что старые версии Libre Office не могли воспринимать никакую другую кодировку, кроме UTF-8. Разработчиков убеждали добавить распознавание кодировок, и они тогда пошли навстречу пользователям. Видимо, где-то в этом месте сломалась корректная поддержка UTF-8. Разработчиков можно понять, у них ведь родной язык - английский, и подобные проблемы не бросаются им в глаза сами. Но к счастью, есть еще Open Office о котором я совсем забыл! Еще раз спасибо за помощь!

msblast

Кажется, я нашел свою проблему на багтрекере:
https://bugs.documentfoundation.org/show_bug.cgi?id=88821
Радует, что разрабочтики уже знают про эту траблу.

ape

#5
Ваш (ТС) файл корректно открывается в LibO версии 4.2.6 и ранних.
При этом версии 3.6.7; 4.0.6 открывают файл в Calc. Версии 4.1.6 и 4.2.6 открывают файл в Web.
Возможно, что, начиная с ЛО-4.3, нет анализа заголовка файла и, считая, что расширение файла указано верно, ЛО последних версий отправляет файл в XLS фильтр.
Кстати, несмотря на то, что файл создан в МСО-2007 (Офис-12), Exel-2007 предупреждает, что файл имеет неправильное расширение...
При таком раскладе вряд ли стоит надеяться на скорое решение Вашей проблемы, хотя в Багзилле проблема с кодировкой описана правильно.
--
p.s. В качестве предложения: меняйте расширение файла (вручную) на *.html - он будет корректно открываться в Writer. Если хотите, можете добавить реплику в описание ошибки, указав, что Calc открывает Ваш html-файл с нарушением кодовой страницы - в ср-1251, а не в utf-8, как указано в meta.
p.p.s. Как я ни пытался сделать что-нибудь похожее кривое с помощью Exel-2007 - не получилось. Рискну предположить, что контора, присылающая Вам эти файлы, пользуется каким-то специализированным софтом с "кривой" кнопочкой "сохранить как".