LINUX.ORG.RU

Питон 2.6 (OpenERP 7) под Windows. Всё норовит считать в кодировке ASCII


0

1

Приветствую. Пытаюсь запустить aeroo с привязкой к ОпенОфису на OpenERP под Windows. Windows весь юникодный, все xml файлы в wild char... Питон, сцука, считывает побайтно и ругается как боцман на 0x0 символы. Все советы в гугле сводятся к правильному контролю кодировок при открытии файла. А я почём знаю, где у разработчиков это сделано? Есть у кого опыт преодоления без глубокого дебага программы? Питон 3.х не предлагать, OpenERP его пока не умеет.

★★★★★

Ответ на: комментарий от anonymous

Там такого не слышали IMHO

Shadow ★★★★★
() автор топика
Ответ на: комментарий от Shadow

И не wide тоже. Чтобы долго не гадал, у тебя utf-16 или usc2. Эти кодировки не не распространены и далеко не все их понимают с разбегу. Нужно подсовывать utf-8, желательно без BOM

mashina ★★★★★
()
Ответ на: комментарий от fenris

Это так, все неюникодные функции Windows API - это обёртки, существующие для обеспечения совместимости с говном мамонта.

Begemoth ★★★★★
()

уметь отличать строку от набора байт

использовать codecs, encode и decode

тогда никаких проблем с кодировками не будет. но это дзен, его нужно понять, не пытаясь его понять - иначе никак.

anonymous
()
Ответ на: комментарий от mashina

Из модуля стороннего производителя.

Shadow ★★★★★
() автор топика

Всё, разобрался. Питон 2.х мало совместим с кодировками кроме ASCII: в StringIO при попадании 8-бит символов и вообще чего-либо отличного от юникода, всё начинает трактоваться как 7-бит символы. Нужно переписывать кучу кода в сторонней библиотеке, чтобы везде отслеживать юникод. Вообще, Питон 2.х как-то остро зациклен на 7-битной кодировке. Я думал, это умерло в начале 80-х.

Shadow ★★★★★
() автор топика
Ответ на: комментарий от Shadow

python 2.X отлично совместим с любыми кодировками. нужно просто в конкретный момент всегда знать, что находится в буфере. если ты просто так начнёшь плеваться данными направо и налево, и кричать «расколдуйся, расколдуйся» - ничего не выйдет. а так - нет никаких проблем с использованием и преобразованием в любой кодировке.

feofil
()
Ответ на: комментарий от feofil

Я тут причем? Это авторы aeroo не сериализовали xml в StringIO как надо. Теперь пытаюсь понять, ЧТО туда попадает... В perl всё намного проще - он тупо закидает тебя крякозябрами, а не будет кричать, что всё пропало.

Shadow ★★★★★
() автор топика
Последнее исправление: Shadow (всего исправлений: 1)

Отладил, достаточно было везде парсеру xml указать входную кодировку utf-16.

Shadow ★★★★★
() автор топика

Если не секрет - в какой отрасли стараетесь внедрить систему? Мы пытались это сделать в строительстве - так и не смогли. Слишком она заточена под «запад». Для наших предприятий только «1с» подходит. OpenERP сильно надо переписывать под нужды России.

FuncPunk
()
Ответ на: комментарий от FuncPunk

не секрет - разработка и производство электроники. Вся строгая отчетность на 1С, планирование - OpenERP

Shadow ★★★★★
() автор топика
Ответ на: комментарий от Shadow

Понятно. Жаль, я думал Вы смогли и отчетность перенести на рельсы OpenERP. Знаете, у меня друг занимается автоматизацией бизнеса, если вы хорошо понимаете в OpenERP, то он будет рад видеть вас на аутсорсе. Если интересует могу дать адрес.

FuncPunk
()
Ответ на: комментарий от FuncPunk

А что не так с отчётностью? В принципе, я вот почти допилил баги aeroo, с его помощью можно вообще любой отчёт смастрячить.

Shadow ★★★★★
() автор топика
Ответ на: комментарий от FuncPunk

openerp-russia.ru вроде допилили.

Shadow ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.