Как менять кодировку только в случае необходимости?
Циклу приходит огромное число строк
Большинство приходит в нормальной кодировке
Но некоторые в виде "Строительство деревянных РґРѕРјРѕРІ РёР· Р±СЂСѓСЃР° РїРѕРґ ключ, готовые деревянные РґРѕРјР° РІ РњРѕСЃРєРІРµ"
Для того, чтобы данная строка приняла нормальный вид, нужно: name = title.decode('utf-8').encode('cp1251')
Делаю такие действия со строкой такого вида - и она становится нормальной.
Проблема в том, что нужно в цикле как-то определять, нужного она вида или нет... Если делать такие действия с каждой строкой, то большинство (которые и были нормальными) станут каракулями...
try:
win_name = unicode(title.encode('cp1251')) #если title нормального вида, эта строка вызовет исключение
name = title.decode('utf-8').encode('cp1251') #если исключения нет, кодируем
except UnicodeDecodeError: #если исключение есть - оставляем
name = title
except UnicodeEncodeError:
name = title