Python и UTF8

Возможно вечный вопрос, но все-таки не могу с ним справиться. Как заставить pyhton понять urf8

В начале все есть для этого
# -*- coding: utf-8 -*-
import sys
reload(sys)
sys.setdefaultencoding('utf-8')


И так, если пишем:
>submit = "Войти"
>print submit
Войти


здесь все верно

Но если код вот такой
>login_form = [
('log', 'admin'),
('login', submit)]
>print login_form
[('log', 'admin'), ('login', '\xd0\x92\xd0\xbe\xd0\xb9\xd1\x82\xd0\xb8')


Как справить с этой напастью?
  • Вопрос задан
  • 59996 просмотров
Пригласить эксперта
Ответы на вопрос 4
homm
@homm
Начните с прочтения книжки.

u"Войти"
Ответ написан
xenolog
@xenolog
от версии питона зависит. В третьем все и так должно быть в юникоде, а в 2.7 давно начинаю все свои файлы таким заголовком:

# -*- coding: utf-8 -*-
from __future__ import unicode_literals


проблемы с юникодом не наблюдаю.

PS: Возможно я не правильно понял в чем состоит проблема — тогда попрошу объяснить.
Ответ написан
Это просто так выписывается в консоль. Кодировка осталась таже (тоесть в том виде, в котором Вы видите стринг в листе). Прикол здесь в том, что во время принт этот стринг (print «Войти») переводится в «юзером читабельный» формат, а простой принт над объектом, этот преревод не делает.
Ответ написан
saintbyte
@saintbyte
Django developer
А у базы все таблицы и колонки в utf-8 а в latin1?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы