Thanks. Committed in r88394.
Regarding the encoding information. An explanation of this sort might be helpful.
The string can be encoded using ISO-8859-1 which is the default encoding for POST data or the user can also encode using a custom encoding , in which case, Content-Type: header should specify the encoding value in addition to 'application/x-www-form-urlencoded' which is specified for POST data. For Example:, if one has to use utf-8
>>> sdata = urllib.parse.urlencode({"ሀ":"ሢ"})
>>> bytesdata = sdata.encode('utf-8')
>>>reqheaders=dict([("Content-Type"," application/x-www-form-urlencoded ; charset=utf-8")])
>>>urllib.request.Request('http://www.example.com',bytesdata,reqheaders)