Сделал еще 1 вариант определителя неправильной кодировки. Без словаря. На слогах. Считаются суммы вероятностей всех слогов в тексте. Слогов намного меньше чем слов.
Как обычно джемини написал код за 5 секунд. И потом я 2 часа пытался понять почему ничего не работает.
В итоге вроде нормально работает. А какие слова у вас пунто свитчер неправильно определял?