SubRip-File-Parser Невозможно определить кодировку файла

Я пытаюсь заставить этот преобразователь srt в vtt работать, но при попытке он продолжает говорить «Невозможно определить кодировку файла», вот мой код.

require('src/SrtParser/srtFile.php');
if(isset($_POST['convert'])){
    try{
        $file = new \SrtParser\srtFile('./subtitle.srt');

        // display the text of the first entry
        echo $file->getSub(0)->getText();
        $file->mergeSrtFile($file2);
        $file->build();
        $file->save('./new_subtitles.vtt');

    }
    catch(Exception $e){
        echo 'Error: '.$e->getMessage()."\n";
    }
}

Может ли кто-нибудь сказать мне, что я делаю неправильно, файлы связаны правильно.

Ссылка на парсер файлов на GitHub delphiki/SubRip-File-Parser


person krunos    schedule 28.03.2016    source источник
comment
А exec включен? Вы можете использовать функцию exec? Парсер полагается на это.   -  person Charlotte Dunois    schedule 28.03.2016
comment
Как говорится в файле readme github, проект больше не поддерживается и перемещен на github.com/captioning/captioning. . В качестве альтернативы вы можете попробовать новый проект.   -  person Charlotte Dunois    schedule 28.03.2016
comment
Я никогда не понимал, почему люди реализуют код, чтобы попытаться определить кодировку символов текстовых файлов. Очевидно, что это просто невозможно каким-либо надежным способом. Иногда можно доказать, что определенный файл не может быть закодирован в какой-либо многобайтовой кодировке, но определить кодировку файла в общем случае невозможно. Любой файл может содержать текст в допустимой 8-битной кодировке. И невозможно отличить разные 8-битные кодировки без угадывания или использования некоторых эвристик, которые, очевидно, не могут быть точными.   -  person arkascha    schedule 28.03.2016
comment
Я пробовал github.com/captioning/captioning, не могу заставить его работать, выдает ошибку говоря Fatal error: Uncaught Error: Class 'Captioning\Format\SubripFile' not found in /Applications/XAMPP/xamppfiles/htdocs/websites/srt_to_vtt/index.php:5 Stack trace: #0 {main} thrown in /Applications/XAMPP/xamppfiles/htdocs/websites/srt_to_vtt/index.php on line 5 Кто-нибудь? :)   -  person krunos    schedule 28.03.2016


Ответы (1)


Я бы порекомендовал открыть файл в Notepad++ и преобразовать кодировку в UTF-8.

Для преобразования вы можете использовать:

Subtitles::convert('subtitles.srt', 'new_subtitles.vtt');

https://github.com/mantas-done/subtitles

person Mantas D    schedule 15.01.2017