Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Python: Общие вопросы > Кодировка в python


Автор: Atlete 9.6.2010, 11:21
Столкнулся с проблемой в pyton с кодировкой.
Задача следующая:
Есть строка priwet допустим.
Ее надо преобразовать в русскую, для этого заменяем соответсвующие символы на русские.
Итого:
p = П, r = Р, i=И,w=В,e=Е,t=Т
Вроде все просто.
делаем так:
Код

# -*- coding: utf-8 -*-

some_str = 'priwet'
some_str = some_str.replace('p','П')
some_str = some_str.replace('r','Р')
some_str = some_str.replace('i','И')
some_str = some_str.replace('w','В')
some_str = some_str.replace('e','Е')
some_str = some_str.replace('t','Т')
print som_str


Получаем на выходе "ПРИВЕТ".

Далее хотим записать все это дело в базу.
Использую MySQLdb.
И вот тут обнаруживается интересный момент.
поля в базе имеют кодировку utf8_general_ci.
После записи в базу буква "И" в базе отображается некоректно.

Помогите решить проблему.

Использую 
Python 2.6.5
MySQL 5

Автор: Ch0bits 10.6.2010, 18:53
Не пробовал использовать юникодные строки, например u'ПРИВЕТ'?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)