В моем приложении - следуя рекомендациям Неда Батчелдера о создании сэндвича с юникодом - я сначала пытаюсь декодировать из Windows-1252 в UTF-8:
row[field] =row[field].decode('cp1252').encode('utf-8')
Позже, когдаЯ хочу отправить свои данные в конечную точку Я декодирую UTF-8:
row[field] = fld.decode('utf-8')
Когда я печатаю только поле, содержащее ошибочные символы Windows-1252, оно интерпретирует их так:
print row['dash']
# as well — ... “the intent was"
Но когда я пытаюсь напечатать весь словарь, я получаю Unicode-значения:
print row
# as well \xe2\x80\x93 ... \xe2\x80\x9cthe intent was\xe2\x80\x9d
Я хочу, чтобы символы wp-1252 сами или их эквиваленты, такие как прямая кавычка вместо левой или правой кавычкизнак.