| 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) |