如何更改字幕文件的编码?

如何更改字幕文件的编码?

我下载了一部电影的希腊语字幕,这是我用 Gedit 打开它时看到的。

在此处输入图片描述

字幕在 VLC 上运行良好,一切都很完美。但是,如果我想用一些希腊语单词编辑这个字幕怎么办?我立即收到有关字符编码的错误。

在此处输入图片描述

我点击重试,但 VLC 无法识别字幕......

答案1

对于字幕编辑/翻译(即基于文本的字幕),我强烈建议高波尔

sudo apt-get install gaupol

除此之外gaupol,你还可以尝试字幕编辑器侏儒字幕

然而,从截图中可以清楚地看出,你的.srt文件是不是以 Unicode 编码。

事实证明,iconv 确实改变文件的编码为 UTF-8,但转换后的文件仍具有在 Gedit 中打开时看到的相同字符。

我找到的解决方案是这样的:

  1. 打开 Gaupol 并进入菜单文件打开或点击按钮打开
  2. 在打开的窗口下方有一个选择菜单,标题为字符编码。 点击其他...(最后一个选项)。

    Gaupol 打开的窗口中的字符编码选项

  3. 为您的文件选择合适的编码,例如希腊语 ISO-8859-7,然后点击按钮接受

    显示字符编码对话框

  4. 现在打开.srt文件并确保所有字符都正确呈现。否则,请使用另一种编码重复上述过程。您可以运行该命令file -bi yourfile.srt来确定文件的正确编码(尽管我读过结果不一定准确)。

  5. 以正确的字符编码打开字幕文件后,转到菜单文件另存为...并将字符编码选项(再次位于窗口底部)更改为 UTF-8 并保存文件(为了安全起见,可能使用新名称)。

添加代码页的相同过程适用于 Gedit。然而,由于这个问题是关于字幕文件的,所以我将说明留给 Gaupol。

祝你好运。

答案2

iconv -f ISO-8859-7 -t UTF-8  Input_file.srt   > Output_file.srt  

从 Kate 编辑器打开它们,您可以看到正确的文本,如果您仍然需要从 Gedit 打开它们,换句话说,永久更改编码,请运行上述终端命令。

答案3

我推荐enca。与 gaupol 不同,您不仅可以处理字幕文件,还可以处理任何文本文件。

  1. 安装 enca:

    sudo apt-get install enca
    
  2. 要找出文件的编码,看看 enca 是否可以猜出:

    enca <file>
    

    或者,如果失败了,并且你知道文本文件的语言,那么运行例如

    enca -L ru <file>
    

    看看它能给你什么。从 获取支持的语言列表man enca

  3. 我建议转换为 UTF-8,你可以通过运行

    enconv -x utf8 <file>
    

    或者,如果enca不能通过猜测语言

    enconv -L ru -x utf8 <file>
    

    这应该够了吧。

答案4

另一个允许转换成不同格式(并带有大量功能)的字幕编辑器是埃吉苏布。它的原生格式 (.ass) 受 VLC Media Player 和 MPlayer 支持,转换为该格式应该可以解决编码问题。

相关内容