sql >> Base de Datos >  >> RDS >> Mysql

Flask_SQLAlchemy, MySQL, almacenar caracteres suecos å, ä, ö?

Como está utilizando Python 2.7, debe especificar que su cadena contiene Unicode.

>>> db.session.add(Users(u'ä'))

También puede usar una importación futura para tratar todas las cadenas como unicode.

from __future__ import unicode_literals

Alternativamente, puede actualizar su versión de Python. 2.7 es la última versión que trata las cadenas como bytes en lugar de unicode.

Editar

También deberá actualizar su __repr__ para que maneje correctamente Unicode.

def __repr__(self):
    return self.name.decode('utf-8')

o cualquier codificación que quieras usar.

En general, deberá asegurarse de manejar la codificación y decodificación a Unicode. No puedo urgirle lo suficiente como para que considere usar una versión más reciente de Python. Uno de los mayores cambios en Python 3 aborda este mismo problema.