Найти - Пользователи
Полная версия: sqlalchemy проблема с кодировкой
Начало » Python для новичков » sqlalchemy проблема с кодировкой
1
lobster
Всех приветствую!
Где-то с месяц назад писал скрипт на *nix все прекрасно работало, даже потом проверил его на винде, сейчас же напрочь отказывается работать, ну вобщем код скажет больше:
from sqlalchemy import create_engine
from sqlalchemy_utils import database_exists, create_database
from sqlalchemy import Table, Column, Integer, String, TIMESTAMP, func
from sqlalchemy.ext.declarative import declarative_base
BaseTable = declarative_base()
class TestTable(BaseTable):
    __tablename__ = 'testtable'
    id = Column(Integer, primary_key = True)
    testfield = Column(String(100))
    page = Column(Integer, default = 0)
q = 'mysql+pymysql://root:1234@localhost:3306/testdb?charset=utf8mb4'
engine = create_engine(q, pool_recycle = 3306)
if not database_exists(engine.url):
    create_database(engine.url)
BaseTable.metadata.create_all(engine)

Выбрасывает исключение вида:
C:\Python34\lib\site-packages\pymysql\cursors.py:146: Warning: Incorrect string value: ‘\xDE\xE3\xEE-\xC2\xEE…’ for column ‘VARIABLE_VALUE’ at row 475
result = self._query(query)

Хотел прикрутить драйвер mysqldb, но видимо разработка его заброшена т.к. не нашел под Python34.
4kpt_IV
Попробуйте

create_engine(q, encoding="cp1251", convert_unicode=True)
lobster
Не, без изменений.
ZerG
разберитесь с кодировкой БД…
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB