shaare.it

Incorrect encoding detection: Garbled response.text

7 Dec 2025

1 min read

Encoding detection issue

$ python -c "import requests; r = requests.get('https://example.com/latin1'); print(r.text[:20])"
Garbled characters...

Why this happens

Server doesn’t declare charset or content is mislabeled.

Fix

Set response.encoding explicitly.

Wrong code

import requests
r = requests.get('https://example.com/latin1')
print(r.text[:20])

Fixed code

import requests
r = requests.get('https://example.com/latin1')
r.encoding = 'latin-1'
print(r.text[:20])