diff --git a/Lib/distutils/command/register.py b/Lib/distutils/command/register.py index 6e9a8d42973..dec9aa2bf21 100644 --- a/Lib/distutils/command/register.py +++ b/Lib/distutils/command/register.py @@ -254,7 +254,7 @@ Your selection [default 1]: ''', if type(value) != type([]): value = [value] for value in value: - value = str(value) + value = unicode(value).encode("utf-8") body.write(sep_boundary) body.write('\nContent-Disposition: form-data; name="%s"'%key) body.write("\n\n") @@ -267,7 +267,7 @@ Your selection [default 1]: ''', # build the Request headers = { - 'Content-type': 'multipart/form-data; boundary=%s'%boundary, + 'Content-type': 'multipart/form-data; boundary=%s; charset=utf-8'%boundary, 'Content-length': str(len(body)) } req = urllib2.Request(self.repository, body, headers) diff --git a/Misc/NEWS b/Misc/NEWS index 21bcb4b6cc9..fa0b85fee54 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -102,6 +102,9 @@ Library - distutils.commands.upload was added to support uploading distribution files to PyPI. +- distutils.commands.register now encodes the data as UTF-8 before posting + them to PyPI. + - decimal operator and comparison methods now return NotImplemented instead of raising a TypeError when interacting with other types. This allows other classes to implement __radd__ style methods and have them