Forum

nawigacja: powrót do listy forów | Tips and Tricks

Tips and Tricks

problem z polskimi literami w Django - "Unicode field names cause UnicodeEncodeError in main admin handler"

Piotr Sobolewski2010-01-09 05:34 (14 lat, 10 miesięcy temu)

Zdarza się w Django, że jak w polu tekstowym napisze się coś z polskimi literami, to panel administracyjny rzuca błąd "Unicode field names cause UnicodeEncodeError in main admin handler".
Bywa też komunikat: "UnicodeEncodeError at <jakaś ścieżka> 'ascii' codec can't encode characters in position 0-3: ordinal not in range(128)".
Chodzi o to, że widocznie gdzieś w różnych miejscach Django obiekt klasy unicode bywa rzucany na string bez określenia, w jakim kodowaniu jest ten obiekt. Wtedy używane jest domyślne kodowanie. A domyślnym kodowaniem jest ASCII.
Rozwiązaniem, które wydaje się działać, jest dopisanie w /usr/lib/python2.5/sitecustomize.py:
import sys
encoding = "UTF-8"
sys.setdefaultencoding(encoding)

nawigacja: powrót do listy forów | Tips and Tricks