apply __encode_inner before urllib.urlencode

because urllib.urlencode is not capable of encoding dicts contain unicode objects