Mysql
 sql >> база данни >  >> RDS >> Mysql

Flask_SQLAlchemy, MySQL, съхраняват шведски знаци å, ä, ö?

Тъй като използвате Python 2.7, трябва да посочите, че низът ви съдържа unicode.

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

Можете също да използвате бъдещ импорт, за да третирате всички низове като unicode.

from __future__ import unicode_literals

Като алтернатива можете да надстроите своята версия на Python. 2.7 е последната версия, която третира низовете като байтове, а не като Unicode.

Редактиране

Ще трябва също да актуализирате своя __repr__ така че да обработва правилно Unicode.

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

или каквото и кодиране, което искате да използвате.

Като цяло ще трябва да се уверите, че обработвате кодиране от и декодиране към unicode. Не мога да ви настоя достатъчно да обмислите използването на по-нова версия на Python. Една от най-големите промени в Python 3 адресира точно този проблем.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да прехвърля моята MySQL база данни на друг компютър?

  2. Защо MySQL отчита синтактична грешка при FULL OUTER JOIN?

  3. Обосновка на спиращите думи в пълен текст на MySQL

  4. SET GLOBAL max_allowed_packet не работи

  5. Проверете дали mysql база данни съществува, извършете действие въз основа на резултата