Es gibt Lib für die Kodierungserkennung: https://pypi.python.org/pypi/chardet (Charakter-Codierung automatischer Anerkennung in Python. So klug wie dein Browser. Open Source)
Erkennt ...
- ASCII, UTF-8, UTF-16 (2 Varianten), UTF-32 (4 Varianten)
- BIG5, GB2312, EUC-TW, HZ-GB-2312, ISO-2022-CN (traditionelles und vereinfachtes Chinesisch)
- EUC-JP, Shift_jis, ISO-2022-JP (Japanisch)
- EUC-KR, ISO-2022-KR (Koreanisch)
- KOI8-R, Maccyrillic, IBM855, IBM866, ISO-8859-5, Windows-1251 (Cyrillic)
- ISO-8859-2, Windows-1250 (Ungar)
- ISO-8859-5, Windows-1251 (Bulgarisch)
- Windows-1252 (Englisch)
- ISO-8859-7, Windows-1253 (Griechisch)
- ISO-8859-8, Windows-1255 (visuelles und logisches Hebräer)
- TIS-620 (Thai)
Beispiel aus Dokumenten:
>>> import urllib
>>> rawdata = urllib.urlopen('http://yahoo.co.jp/').read()
>>> import chardet
>>> chardet.detect(rawdata)
{'encoding': 'EUC-JP', 'confidence': 0.99}