Если вы ищете готовое решение, вы можете попробовать Enca .
Однако, если вы хотите обнаружить только то, что может быть декодировано как символы кириллицы UTF-8 (без каких-либо полных проверок достоверности UTF-8), вам просто нужно найти что-то вроде /(\xD0[\x81\x90-\xBF]|\xD1[\x80-\x8F\x91]){
n ,}/
(это точное регулярное выражение для n последующих символов русской кириллицы в кодировке UTF8). Для дополнительной проверки, что весь файл содержит только действительные данные UTF-8, вы можете использовать что-то вроде isutf8(1)
.
Оба метода имеют свои положительные и отрицательные стороны и иногда могут давать неправильные результаты.