UTF-8 encode response body when converting to bytes

I know you're working on a 2.x branch, but this was the result of some moderately hard-won debugging and I don't want anyone else to get bit by this. (Some of our servers are inexplicably starting with ASCII as the default character set, which is just lovely...)