I have no control over server side. I'm using Ubuntu Breezy at home and Ubuntu Dapper at work. Now I'm at work and same code working properly here! (returning %B1) I'm not sure and not checked yet but locale settings and/or installed Python version may be different between two computers.
I think there should be way to encode ± to %B1 on any platform/locale combination. While searching for a real solution, I'm going to add a search&destroy filter for %C2 on urlencoded dictionary as a workaround. Because my queries are constant and %C2 is the only problem for now. -- http://mail.python.org/mailman/listinfo/python-list