Side note: You don't really need `-v`, `-D-` will give you the response headers; or if you don't care about the response body, a HEAD request with `-I` will do.
No, HTTP’s concept of enconding is entirely different and mostly about compression, e.g. gzip, deflate, or identity. Text encoding is not part of the protocol. HTML uses meta charter and even that is optional. Since we’re not dealing with HTML here, there’s nothing like the meta tag. HTTP text encoding is a guessing game all along, but with a library like chardet it’s guessed correctly almost 100% of the time.
That's an already decoded version. Maybe use `xxd` to find your `0xe7`:
```
curl -s -A 'Python-urllib/3.6' 'https://www.google.com/complete/search?client=psy-ab&q=hello%20w' | xxd
```
Pay special attention to byte number 333.
Still, the response should not be non-UTF-8. Please upload the exact content of `https://www.google.com/complete/search?client=psy-ab&q=hello%20` that you get.