sql >> Databasteknik >  >> RDS >> Mysql

Flask_SQLAlchemy, MySQL, lagra svenska tecken å, ä, ö?

Eftersom du använder Python 2.7 måste du ange att din sträng innehåller unicode.

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

Du kan också använda en framtida import för att behandla alla strängar som unicode.

from __future__ import unicode_literals

Alternativt kan du uppgradera din version av Python. 2.7 är den sista versionen som behandlar strängar som byte snarare än unicode.

Redigera

Du måste också uppdatera din __repr__ så att den hanterar unicode korrekt.

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

eller vilken kodning du vill använda.

I allmänhet måste du se till att du hanterar kodning från och avkodning till unicode. Jag kan inte uppmana dig nog att överväga att använda en nyare version av Python. En av de största förändringarna i Python 3 tar upp just detta problem.



  1. Problem med att köra proceduren i våren boot schema.sql-fil

  2. Hur man väljer poster från de senaste 24 timmarna med PostgreSQL

  3. Kombinera två kolumner i SQL for WHERE-satsen

  4. MySQL-syntax för att infoga en ny rad i mittraderna?