Hellnar
Hellnar

Reputation: 64883

django utf-8 normalization

Greetings

I want to slugify/normalize utf8 string however I get

# -*- coding: utf-8 -*-   
from django.template.defaultfilters import slugify
print slugify( unicode("şşşşüüüüççç") )

and get result as "ssssuuuccc", however I get UnicodeDecodeError 'ascii' codec cant decode ... error.

Upvotes: 1

Views: 904

Answers (1)

bobince
bobince

Reputation: 536715

unicode() without an encoding argument tries to use ASCII to decode the given byte string, as a fail-safe default. unicode("şşşşüüüüççç") can't work as the string is not ASCII.

Use a unicode string literal:

print slugify(u"şşşşüüüüççç")

(and of course ensure that your text editor saves the script file using the UTF-8 encoding.)

Upvotes: 2

Related Questions