SQLAlchemy и UnicodeDecodeError

я получаю

UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 0: ordinal not in range(128)

когда я передаю этой функции текст из базы данных MySQL, к которой я обращаюсь с помощью SQLAlchemy:

re.compile(ur"<([^>]+)>", flags=re.UNICODE).sub(u" ", s)

Кодировка базы данных — utf -8, и я даже передаю кодировку функции механизма создания _SQLAlchemy.

Изменить: Вот как я запрашиваю базу данных:

doc = session.query(Document).get(doc_id)
s = doc.title

По предложению я передал s.decode ('utf -8' )в sub. Ошибка выше исчезла, но я получаю другую ошибку для другого документа:

UnicodeDecodeError: 'utf8' codec can't decode byte 0xeb in position 449: invalid continuation byte

Таблица базы данных определяется следующим образом:

CREATE TABLE `articles` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `title` varchar(255) DEFAULT NULL,
  `cdate` datetime DEFAULT NULL,
  `link` varchar(255) DEFAULT NULL,
  `content` text,
  UNIQUE KEY `id` (`id`),
  UNIQUE KEY `link_idx` (`link`)
) ENGINE=InnoDB AUTO_INCREMENT=4127834 DEFAULT CHARSET=utf8;

Будем признательны за любую помощь

10
задан user1491915 15 August 2012 в 15:43
поделиться