Django を最新にupdateしたら困ったことになった。

実は前から困ってたんだけど・・・

さくらにインストールした Django は、確か r59XX だったと思う(一応 0.97pre)。なんとなく動いてたんだけど、管理サイトでデータを削除すると UnicodeEncodeError が起こってた。まあ Unicode-branch のマージの影響だろう、くらいにしか考えてなかったんだけど、さっき r6410 に update しても状況は変わらない。

というか状況は悪化気味で、何かやると NotSupportedError が発生する。

NotSupportedError at /accounts/login/
server is too old to set charset
Request Method: 	GET
Request URL: 	http://libra.jpn.org/accounts/login/
Exception Type: 	NotSupportedError
Exception Value: 	server is too old to set charset
Exception Location: 	build/bdist.freebsd-4.10-RELEASE-p24r1-i386/egg/MySQLdb/connections.py in set_character_set, line 280
Python Executable: 	/usr/local/bin/python
Python Version: 	2.4.3

これは 補足 さくらインターネット、CGIでDjangoを動かす: 30からのBlog を参考にして解決した。修正した箇所は同じファイルの 165 行目。'charset': 'utf8' をコメントアウトした。
(前は発生してなかったのになんでだろう?参考にしたところを見ても 0.96 だからこっちの方が新しかったのに)


で、UnicodeEncodeError はどうだろう、と試してみても結果は以前と同じ・・・

UnicodeEncodeError at /admin/auth/user/8/delete/
'latin-1' codec can't encode characters in position 0-2: ordinal not in range(256)
Request Method: 	POST
Request URL: 	http://libra.jpn.org/admin/auth/user/8/delete/
Exception Type: 	UnicodeEncodeError
Exception Value: 	'latin-1' codec can't encode characters in position 0-2: ordinal not in range(256)
Exception Location: 	build/bdist.freebsd-4.10-RELEASE-p24r1-i386/egg/MySQLdb/connections.py in unicode_literal, line 185
Python Executable: 	/usr/local/bin/python
Python Version: 	2.4.3


MySQL、というかサーバ系は弱いので、ちょっとお手上げっぽい。どっか他のレンタルサーバ探そうかな・・・