mb_convert_encoding (PHP) позволяет автоматически определить исходную кодировку. Проверял только на cp1251/utf8/koi8-r — нормально. Первый параметр — сама строчка. Второй параметр — в какую кодировку. Третий параметр необязательный — из какой кодировки.
php.net/mb_convert_encoding