У меня такое ощущение, что вы не очень привыкли использовать Юникод.Для начала ( 1 ):
" Нет такого понятия, как простой текст.
Если у вас естьСтрока, в памяти, в файле или в сообщении электронной почты, вы должны знать, в какой кодировке он находится, или вы не можете интерпретировать его или правильно отобразить его пользователям. "
u передтекстовые пометки о том, что вы имеете дело с unicode
объектом вместо string
объекта.Таким образом, если вы создаете строковое представление объекта Unicode, символ u всегда будет отображаться.
Чтобы удалить объект u, вам необходимо закодировать объект unicode
с помощью определенной кодировки.Например, если вы используете консоль с кодировкой utf-8, вы хотите создать строковое представление ваших данных в кодировке utf-8
.
Объекты Unicode можно кодировать с помощью encode
.Например:
print row[0].encode('utf-8')
Должно привести к
2006-01-05
... ЕСЛИ ваша консоль / терминал использует ту же кодировку (utf-8).
АналогичноВы можете перебирать кортежи:
for row in c:
print tuple(x.encode('utf-8') for x in row)
Я абсолютно, настоятельно рекомендую, возможно, даже настаиваю, чтобы вы читали: " Абсолютный минимум Каждый разработчик программного обеспечения должен абсолютно, положительно знать о Unicode и наборах символов (нетОправдания!) ».Юникод может быть непростым для начала, но когда вы овладеете концепциями, он станет вашим новым лучшим другом - и чем больше вы увидите u
, тем счастливее вы станете.Поверь мне.