Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 6, 2009 12:40:58

goblin_maks
От:
Зарегистрирован: 2008-12-10
Сообщения: 110
Репутация: +  0  -
Профиль   Отправить e-mail  

проблемы с кодировкой?

            
for cnt in sel_co_value.fetchall():
a=str(cnt[0])
print>>logfile, a
result_array.append(a)
print>>logfile, result_array
после таких действий в логфайле следующее:

ДУ зі штрафом 1300 гривень
ДУ зі штрафом по абонплаті за повні місяці (CRM)




почему такое получается и как с этим бороться?



Офлайн

#2 Апрель 6, 2009 12:46:11

balu
От:
Зарегистрирован: 2006-05-24
Сообщения: 521
Репутация: +  0  -
Профиль   Отправить e-mail  

проблемы с кодировкой?

Проблема много раз обсасывалась. Ищите на форуме



Офлайн

#3 Апрель 6, 2009 15:43:09

goblin_maks
От:
Зарегистрирован: 2008-12-10
Сообщения: 110
Репутация: +  0  -
Профиль   Отправить e-mail  

проблемы с кодировкой?

ниче не понимаю…делаю явную перекодировку:

a=cnt[0]
b=str(a)
c=b.decode('iso-8859-5')
d=c.encode('utf-8')
при печати в файл
print>>logfile,“a”
кодировка меняется.. а при
result_array.append(d)
print>>logfile, result_array
все остается по прежнему..прочитал темы по кодировкам..понял что явное преобразование кодировок рулит.

что не ак делаю? запись в файл производится корректно, почему append выполняется не корректно?



Отредактировано (Апрель 6, 2009 15:44:39)

Офлайн

#4 Апрель 6, 2009 16:07:55

balu
От:
Зарегистрирован: 2006-05-24
Сообщения: 521
Репутация: +  0  -
Профиль   Отправить e-mail  

проблемы с кодировкой?

unicode(“your text”, “your encodibg, like cp1251”).encode(“your encodibg, like utf-8”)



Офлайн

#5 Апрель 6, 2009 23:20:00

goblin_maks
От:
Зарегистрирован: 2008-12-10
Сообщения: 110
Репутация: +  0  -
Профиль   Отправить e-mail  

проблемы с кодировкой?

за это спасибо..но ничего нового оно мне не дало… запись в файл построчно выполняется корректно как и выполнялась, а запись в файл масива созданного при помощи append как была некорректной такой и осталась.



Офлайн

#6 Апрель 7, 2009 02:37:02

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

проблемы с кодировкой?

списки так писать нельзя. Потому что преобразование к строке делается через repr. Который все не ASCII символы кодирует через \xnn.
Если нужно - преобразование к строке делать самому посимвольно.



Офлайн

#7 Апрель 7, 2009 23:38:20

goblin_maks
От:
Зарегистрирован: 2008-12-10
Сообщения: 110
Репутация: +  0  -
Профиль   Отправить e-mail  

проблемы с кодировкой?

а поподробней..или с примерчиком..а то я не сильно вкурил..или натолкните как сделать посимвольно преобразование в строке..



Офлайн

#8 Апрель 8, 2009 06:55:31

pythonwin
От:
Зарегистрирован: 2006-07-18
Сообщения: 1294
Репутация: +  0  -
Профиль   Отправить e-mail  

проблемы с кодировкой?

Офлайн

#9 Апрель 8, 2009 10:05:23

balu
От:
Зарегистрирован: 2006-05-24
Сообщения: 521
Репутация: +  0  -
Профиль   Отправить e-mail  

проблемы с кодировкой?

Пейсай в файл поэлементно. Где-то так

list = ["bla-bla", "foo"]
for item in list: write(unicode(item, "your encodibg, like cp1251").encode("your encodibg, like utf-8"))
Тогда можно и без перекодирования, если просмотрщик автоматически определяет кодировку.



Офлайн

#10 Апрель 8, 2009 16:13:22

goblin_maks
От:
Зарегистрирован: 2008-12-10
Сообщения: 110
Репутация: +  0  -
Профиль   Отправить e-mail  

проблемы с кодировкой?

все..всем спасибо..к обеду разобрался..



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version