Уведомления

Группа в Telegram: @pythonsu

#1 Май 3, 2011 10:47:17

afinik
От:
Зарегистрирован: 2010-09-10
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Кодировка в консоли

В консоли некорректно отображается кириллица. То есть она отображается как должна но хотелось бы чтобы она была кириллицей в удобочитаемом формате, а не представленном ниже.:

>>> import decoder
1,2,3
1,3,4
1,2,3
1,3,4
1,2,3
1,3,4
1,2,3
1,3,4
Р°,Р±,РІ
Рі,Рґ,Рµ
Р°,Р±,РІ
Рі,Рґ,Рµ
Р°,Р±,РІ
Рі,Рґ,Рµ
Файл decoder.py
# -*- coding: utf8 -*-
path = '/home/afinik/python/csvexample.csv'
decfile=''.encode('cp1251');
fo=open(path, 'rb');
for char in fo.read():
decfile=decfile+char;
fo.close();
print decfile[:500].decode('cp1251');
Файл csvexample.csv:
1,2,3
1,3,4
1,2,3
1,3,4
1,2,3
1,3,4
1,2,3
1,3,4
а,б,в
г,д,е
а,б,в
г,д,е
а,б,в
г,д,е
Операционная система Ubuntu 10.04
Python 2.6



Отредактировано (Май 3, 2011 10:48:07)

Офлайн

#2 Май 3, 2011 11:38:36

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

Кодировка в консоли

В какой кодировке файл и консоль? Вы должны привести это к единому знаменателю.



Офлайн

#3 Май 11, 2011 12:38:05

retif
От:
Зарегистрирован: 2011-05-11
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Кодировка в консоли

>>> sys.getdefaultencoding()
'ascii'
>>> unicode('ф'.decode('cp1251'))
u'\u0421\u201e'
>>> unicode('ф'.decode('cp1251')).encode('utf-8')
'\xd0\xa1\xe2\x80\x9e'

обьясните пожалуйста как в консоли увидеть в читабельном виде содержимое unicode строки содержащей русские буквы?
и правильно ли я создаю unicode строку? unicode('ф'.decode('cp1251')) или надо декодировать с помощью koi8_r?



Офлайн

#4 Май 11, 2011 21:03:24

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

Кодировка в консоли

см

Отредактировано (Май 11, 2011 21:03:52)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version