2009年2月10日火曜日

Djangoで文字列連結ではまった...。

Djangoで次のようなエラーが出て悩んでしまった。
'ascii' codec can't encode character

明らかにUTF-8のバイト文字列(str型)を変換しようとしてエラーになっているのは分かるんだが...。
いろいろ確認した結果、単にstr型とunicode型が混ざった状況で、文字列の連結をしようとした結果、asciiコーデックで変換しようとしてエラーになっていることが分かった。

dn = (cn=%s,ou=%s) % (username,ouname)
みたいなので、usernameがunicode型で、ounameがstr型だった。
type(username)とかで型を確認して、ようやく理解した。


0 件のコメント:

コメントを投稿