Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 24, 2012 08:37:26

cehmja
Зарегистрирован: 2012-10-24
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

mysqldb ascii ...

# -*- coding: utf-8 -*-
import MySQLdb
db = MySQLdb.connect(host=“localhost”, user=“root”, passwd=“могилев”, db=“my_test_db”, charset='utf8')
cursor = db.cursor()
sql=“create table if not exists %s (test_column VARCHAR(128));” %(u“тест”.encode(“utf-8”))
cursor.execute(sql)
db.commit

При первом запуске скрипта создается таблица
при последующих запусках выдает следующую ошибку:
UnicodeEncodeError: ‘ascii’ codec can't encode characters in position 7-10: ordinal not in range(128)

Помогите, что не так?

Офлайн

#2 Окт. 25, 2012 07:57:29

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

mysqldb ascii ...

Как правило, начинают с проверками установок самой MySQL, в частности что бы там было прописано использование UTF-8.
Затем у соединения или курсора явно указывают кодировку.
Поищите внимательно на форуме..обсуждалось уже.



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version