Не то, чтобы я знал, но если у вас есть список возможных кодировок, вы можете написать простую программу вроде:
for x in ENCODINGS:
for y in ENCODINGS:
try:
if 'á'.encode(x) == '‡'.encode(y):
print(x, '→', y)
except UnicodeError:
pass
При этом в вашем случае оказывается, что исходная кодировка является одной из:
- mac_arabic
- mac_centeuro
- mac_croatian
- mac_farsi
- mac_iceland
- mac_latin2
- mac_roman
- mac_romanian
- mac_turkish
и неверно истолкованная кодировка является одной из:
- CP1250
- cp1251
- cp1252
- cp1253
- cp1254
- cp1255
- cp1256
- cp1257
- cp1258
- PalmOS
Если вы живете в "западной" локали, то mac_roman & rarr; cp1252 - наиболее вероятная возможность.