Найти - Пользователи
Полная версия: ПЕрекодировка.
Начало » Базы данных » ПЕрекодировка.
1 2 3
well
pythonwin
попробуй убрать try except
>>> i=unicode('Текст','cp866').encode('cp866')
>>> i=i.decode('cp866')
>>> i.encode('cp1251')
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "encodings/cp1251.py", line 18, in encode
UnicodeEncodeError: 'charmap' codec can't encode character u'\u2568' in position 0: character maps to <undefined>
well
меня возникла следующая проблема: когда я перехватываю вывод команды dsquery в Windows XP,
объясни что и как ты делаешь, а то мне напиример не понятно dsquery консольная утилита или приложение под вин32
это консольная программулина, которая позволяет вытянуть определенные логины из домена. Вот нечитаемое:
CN=&#732;&#165;&#162;&#231;&#165;­&#170;® ‘&#162;&#165;&#226;« ­ ?­ &#226;®«&#236;&#165;&#162;­ („®­&#161; &#225;&#225;),OU
pythonwin
well
CN=&#732;&#165;&#162;&#231;&#165;­&#170;® ‘&#162;&#165;&#226;« ­ ?­ &#226;®«&#236;&#165;&#162;­ („®­&#161; &#225;&#225;),OU
попробуй вывести так:
print
и выложить на форуме :)
well
pythonwin
well
CN=&#732;&#165;&#162;&#231;&#165;­&#170;® ‘&#162;&#165;&#226;« ­ ?­ &#226;®«&#236;&#165;&#162;­ („®­&#161; &#225;&#225;),OU
попробуй вывести так:
print
и выложить на форуме :)
вот:
CN=\x98\xa5\xa2\xe7\xa5\xad\xaa\xae \x91\xa2\xa5\xe2\xab\xa0\xad\xa0 \x80\xad\xa0\xe2\xae\xab\xec\xa5\xa2\xad\xa0 (\x84\xae\xad\xa1\xa0\xe1\xe1),
pythonwin
попробуй
print i.decode('cp866').encode('cp1251').decode('cp1251')
пример:
>>> i=“CN=\x98\xa5\xa2\xe7\xa5\xad\xaa\xae \x91\xa2\xa5\xe2\xab\xa0\xad\xa0 \x80\xad\xa0\xe2\xae\xab\xec\xa5\xa2\xad\xa0 (\x84\xae\xad\xa1\xa0\xe1\xe1),”
>>> i.decode('cp866')
u'CN=\u0428\u0435\u0432\u0447\u0435\u043d\u043a\u043e \u0421\u0432\u0435\u0442\u043b\u0430\u043d\u0430 \u0410\u043d\u0430\u0442\u043e\u043b\u044c\u0435\u0432\u043d\u0430 (\u0414\u043e\u043d\u0431\u0430\u0441\u0441),'
>>> i.decode('cp1251')
Traceback (most recent call last):
File “<stdin>”, line 1, in ?
File “encodings/cp1251.py”, line 22, in decode
UnicodeDecodeError: ‘charmap’ codec can't decode byte 0x98 in position 3: character maps to <undefined>
>>> i.decode('cp866').encode
<built-in method encode of unicode object at 0xb7d30338>
>>> i.decode('cp866').encode('cp1251')
'CN=\xd8\xe5\xe2\xf7\xe5\xed\xea\xee \xd1\xe2\xe5\xf2\xeb\xe0\xed\xe0 \xc0\xed\xe0\xf2\xee\xeb\xfc\xe5\xe2\xed\xe0 (\xc4\xee\xed\xe1\xe0\xf1\xf1),'
>>> i.decode('cp866').encode('cp1251').decode('cp1251')
u'CN=\u0428\u0435\u0432\u0447\u0435\u043d\u043a\u043e \u0421\u0432\u0435\u0442\u043b\u0430\u043d\u0430 \u0410\u043d\u0430\u0442\u043e\u043b\u044c\u0435\u0432\u043d\u0430 (\u0414\u043e\u043d\u0431\u0430\u0441\u0441),'
>>> print i.decode('cp866').encode('cp1251').decode('cp1251')
CN=Шевченко Светлана Анатольевна (Донбасс),
>>>
xonix
pythonwin
попробуй

print i.decode('cp866').encode('cp1251').decode('cp1251')
Так не проще ли:
>>> i="CN=\x98\xa5\xa2\xe7\xa5\xad\xaa\xae \x91\xa2\xa5\xe2\xab\xa0\xad\xa0 \x80\xad\xa0\xe2\xae\xab\xec\xa5\xa2\xad\xa0 (\x84\xae\xad\xa1\xa0\xe1\xe1),"
>>> print i.decode('cp866')
CN=Шевченко Светлана Анатольевна (Донбасс),
pythonwin
xonix
Так не проще ли:
как я понял well нужно было данные dsquery из консоли передать в приложение Windows, если же в консоль, то можно и твой вариант.
well
А если такая ситуация, то как добиться корректоного отображения print'а в cmd?

# -*- coding: utf-8 -*-
s = “Я могучая стринга”
print s

пробовал
print s.decode ('cp866')
- не помогло :(
pythonwin
а cp1251 не помогло?
well
pythonwin
а cp1251 не помогло?
неа
well
well
А если такая ситуация, то как добиться корректоного отображения print'а в cmd?

# -*- coding: utf-8 -*-
s = “Я могучая стринга”
print s

пробовал
print s.decode ('cp866')
- не помогло :(
Блин, все решилось просто:

# -*- coding: utf-8 -*-
s = u“Я могучая стринга”.encode ('cp866')
print s
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB