Michał Jastrzębski

Michał Jastrzębski Django-fu, phpjutsu,
sql-do

Temat: Problem z kodowaniem

Witam! Mam problem z kodowaniem znaków do zapisu do bazy danych. Cały czas dostaje taki traceback: http://www.nopaste.pl/oz3 albo do bazy zapisują się krzaki. Kodowanie niby jest utf-8 (decode(stare kodowanie).encode('utf8'), stare kodowanie wykryte za pomocą chardet), ale po print nawet wychodzą krzaki zamiast polskich znaków...

Z góry dziękuję!
Michał Jastrzębski
Piotr Maliński

Piotr Maliński Programista
Python/Django

Temat: Problem z kodowaniem

A tabela w bazie używa utf-8 a nie latin-1?
Michał Jastrzębski

Michał Jastrzębski Django-fu, phpjutsu,
sql-do

Temat: Problem z kodowaniem

Tak, poza tym próba dodania potem .encode("utf-8") zaraz przed dodaniem do bazy podobny blad wywalaMichał Jastrzębski edytował(a) ten post dnia 14.04.10 o godzinie 13:51
L P

L P podskala.net

Temat: Problem z kodowaniem

A client bazy danych ma kodowanie utf-8 ?
L P

L P podskala.net

Temat: Problem z kodowaniem

droga jest dość długa od Twoje skryptu do DB,

1. tworzony ciąg znaków (utf-8)
2. tworzony kursor sqlalchemy (utf-8, zadane w konstruktorze)
3. W przypadku MySQL,
3.1 client charset w utf-8 (mozna sprawdzic w show variables)
3.2 database charset w utf-8 | table charset ? | column charset ?

Hmm.
Michał Jastrzębski

Michał Jastrzębski Django-fu, phpjutsu,
sql-do

Temat: Problem z kodowaniem

database na utf-8, w każdym innym miejscu utf8_general...
Michał Jastrzębski

Michał Jastrzębski Django-fu, phpjutsu,
sql-do

Temat: Problem z kodowaniem

show variables:
character_set_client utf8
character_set_connection utf8
character_set_database utf8
character_set_filesystem binary
character_set_results utf8
character_set_server latin1
character_set_system utf8
character_sets_dir /usr/share/mysql/charsets/
collation_connection utf8_general_ci
collation_database utf8_general_ci
collation_server latin1_swedish_ci

konto usunięte

Temat: Problem z kodowaniem

Łukasz Podkalicki:
A client bazy danych ma kodowanie utf-8 ?

Błąd pojawia się przed zapytaniem do bazy, więc zostaje popatrzeć na konfigurację MySQLdb, obiektu Connection, ustawienie charset na utf8.
L P

L P podskala.net

Temat: Problem z kodowaniem

Bartosz Gąsiorek:
Łukasz Podkalicki:
A client bazy danych ma kodowanie utf-8 ?

Błąd pojawia się przed zapytaniem do bazy, więc zostaje popatrzeć na konfigurację MySQLdb, obiektu Connection, ustawienie charset na utf8.

Raczej tak.
Może Michale jak dodasz do konstruktora (za DB-URI dla sqlalchemy, nie pamiętam jak jest dla MySQLdb) parametry convert_unicode=True, encoding="utf8" to pomoże.Łukasz Podkalicki edytował(a) ten post dnia 14.04.10 o godzinie 17:45
Michał Jastrzębski

Michał Jastrzębski Django-fu, phpjutsu,
sql-do

Temat: Problem z kodowaniem

Jak się okazało sqlalchemy domyślnie próbuje zapisać w latin-1...jedno ustawienie i sprawa załatwiona. Dzięki wam bardzo!

Następna dyskusja:

xhtml2pdf - problem z polsk...




Wyślij zaproszenie do