我制作了一个脚本来在浏览器中编辑字幕。而不是在文本编辑器等中。所以我做了所有事情,而且我处于最后阶段,当我单击“保存”按钮下载我的编辑版本时,我的浏览器会按预期自动下载SRT文件,但是副标题是显示为“小方块”,而不是我编写和编辑的阿拉伯文字。

我在VLC Video Player上看到的内容:

javascript - JavaScript-生成.SRT文件-LMLPHP

我的SRT文件中有什么:

1
00:00:05,796 --> 00:00:06,888
چیرۆكم پێ بڵێ

2
00:00:07,048 --> 00:00:08,265
چیرۆكم پێ بڵێ

3
00:00:08,424 --> 00:00:09,846
چیرۆكم پێ بڵێ

用于生成字幕编辑版本的代码:
    // Function to download data to a file
function download(data, filename, type) {
    var file = new Blob([data], {type: type});
    if (window.navigator.msSaveOrOpenBlob) // IE10+
        window.navigator.msSaveOrOpenBlob(file, filename);
    else { // Others
        var a = document.createElement("a"),
                url = URL.createObjectURL(file);
        a.href = url;
        a.download = filename;
        document.body.appendChild(a);
        a.click();
        setTimeout(function() {
            document.body.removeChild(a);
            window.URL.revokeObjectURL(url);
        }, 0);
    }
}

然后:
download(all_str,"anyth.srt","text/html")

字符串all_str是我对字幕的新编辑版本。所有这些都由新行分隔,就像文本编辑器版本一样

字幕适用于英语和其他语言(阿拉伯语除外)

我为解决此问题所做的事情:
  • text/html更改为text/plaintext/plain utf-8text/plain charset=utf-8,但不起作用
  • 将VLC播放器的编码类型从“通用”更改为utf8,但不起作用

  • 我认为这与编码类型有关,我想念或不知道吗?请填写我

    最佳答案

    您做对了所有事情,但是我们当前的大多数操作系统都在Windows-1256上运行。
    我已经使用此unicode测试了您的代码,该代码可用于阿拉伯语和波斯语:

    只是改变:

    text/plain;charset=windows-1256
    

    关于javascript - JavaScript-生成.SRT文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50230775/

    10-09 20:23