sql >> Databáze >  >> RDS >> Mysql

Flask_SQLAlchemy, MySQL, ukládání švédských znaků å, ä, ö?

Protože používáte Python 2.7, musíte určit, že váš řetězec obsahuje unicode.

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

Můžete také použít budoucí import, který bude všechny řetězce považovat za unicode.

from __future__ import unicode_literals

Případně můžete upgradovat svou verzi Pythonu. 2.7 je poslední verze, která zachází s řetězci jako s bajty, nikoli s unicode.

Upravit

Budete také muset aktualizovat svůj __repr__ aby správně zpracovával unicode.

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

nebo jakékoli kódování, které chcete použít.

Obecně se musíte ujistit, že zvládnete kódování z a dekódování do unicode. Nemohu vás dostatečně vyzvat, abyste zvážili použití novější verze Pythonu. Jedna z největších změn v Pythonu 3 řeší právě tento problém.



  1. Implementace Levenshteinovy ​​vzdálenosti pro mysql/fuzzy vyhledávání?

  2. Datum a čas TEĎ PHP mysql (+ varianta PDO)

  3. Rozdíl v požadovaném čase pro vložení záznamů InnoDB/MyISAM

  4. PHP 7 nemůže najít MySQLi