This attempts to fix an issue where encoding of a string might fail when the
encoding is set to some unknown format. Here we attempt to catch the
LookupException and subsequently blindly encode the string one final time.
That is we call str() over response.content without specifying an encoding.
This may still fail in certain cases but does properly handle the case of #338
by returning the expected string.
# Decode unicode from given encoding.
try:
content = str(self.content, encoding, errors='replace')
+ except LookupError:
+ # try blindly encoding
+ content = str(self.content, errors='replace')
except (UnicodeError, TypeError):
pass