Форум сайта python.su
Что то каждый раз мучаюсь с кодировками. Подскажите как сделать чтобы появились читаемые русские буквы.
код примерно такой:
# -*- coding: UTF-8 -*-
…
filelist = os.listdir(path)
…
for str in filelist:
lb.insert( 0, str )
как перекодировать русские имена файлов и во что?
и так чтобы не ругался “…ordinal not in range(128)”
На будущее: может есть какой то модуль который удобно перекодирует во что угодно и обрабатывает ошибки?
Офлайн
в винде работаете?
В винде в cp1251 названия возвращаются.
lb.insert(0,str.decode('cp1251'))
severumНу как бы decode и encode перекодирует во все что угодно. Ошибки и сами можете обрабатывать :) Не написан еще модуль, который обладает экстрасенсорными способностями. Есть конечно chardet, который с некоторой вероятностью может определить кодировку, а дальше уж сами.
На будущее: может есть какой то модуль который удобно перекодирует во что угодно и обрабатывает ошибки?
Офлайн
спасибо большое
Офлайн