Respect the provided encoding

UTF-8 is great but if we're claiming the encoding is something else everywhere
else we can't just make it UTF-8 here.
This commit is contained in:
Jean-Paul Calderone 2020-12-07 09:12:38 -05:00
parent 56f141e170
commit f4432d3f23
2 changed files with 4 additions and 4 deletions

View File

@ -101,11 +101,11 @@ def run_cli_unicode(verb, argv, nodeargs=None, stdin=None, encoding=None):
argv=argv, argv=argv,
) )
d = run_cli_bytes( d = run_cli_bytes(
verb.encode("utf-8"), verb.encode(encoding),
nodeargs=list(arg.encode("utf-8") for arg in nodeargs), nodeargs=list(arg.encode(encoding) for arg in nodeargs),
stdin=stdin, stdin=stdin,
encoding=encoding, encoding=encoding,
*list(arg.encode("utf-8") for arg in argv) *list(arg.encode(encoding) for arg in argv)
) )
def maybe_decode(result): def maybe_decode(result):
code, stdout, stderr = result code, stdout, stderr = result

View File

@ -259,7 +259,7 @@ def quote_output_u(*args, **kwargs):
result = quote_output(*args, **kwargs) result = quote_output(*args, **kwargs)
if isinstance(result, unicode): if isinstance(result, unicode):
return result return result
return result.decode("utf-8") return result.decode(kwargs.get("encoding", None) or io_encoding)
def quote_output(s, quotemarks=True, quote_newlines=None, encoding=None): def quote_output(s, quotemarks=True, quote_newlines=None, encoding=None):