我下载了一部电影的希腊语字幕,这是我用 Gedit 打开它时看到的。
字幕在 VLC 上运行良好,一切都很完美。但是,如果我想用一些希腊语单词编辑这个字幕怎么办?我立即收到有关字符编码的错误。
我点击重试,但 VLC 无法识别字幕......
答案1
对于字幕编辑/翻译(即基于文本的字幕),我强烈建议高波尔。
sudo apt-get install gaupol
然而,从截图中可以清楚地看出,你的.srt
文件是不是以 Unicode 编码。
事实证明,iconv
确实改变文件的编码为 UTF-8,但转换后的文件仍具有在 Gedit 中打开时看到的相同字符。
我找到的解决方案是这样的:
- 打开 Gaupol 并进入菜单文件→打开或点击按钮打开。
在打开的窗口下方有一个选择菜单,标题为字符编码。 点击其他...(最后一个选项)。
为您的文件选择合适的编码,例如希腊语 ISO-8859-7,然后点击按钮接受。
现在打开
.srt
文件并确保所有字符都正确呈现。否则,请使用另一种编码重复上述过程。您可以运行该命令file -bi yourfile.srt
来确定文件的正确编码(尽管我读过结果不一定准确)。- 以正确的字符编码打开字幕文件后,转到菜单文件→另存为...并将字符编码选项(再次位于窗口底部)更改为 UTF-8 并保存文件(为了安全起见,可能使用新名称)。
添加代码页的相同过程适用于 Gedit。然而,由于这个问题是关于字幕文件的,所以我将说明留给 Gaupol。
祝你好运。
答案2
iconv -f ISO-8859-7 -t UTF-8 Input_file.srt > Output_file.srt
从 Kate 编辑器打开它们,您可以看到正确的文本,如果您仍然需要从 Gedit 打开它们,换句话说,永久更改编码,请运行上述终端命令。
答案3
我推荐enca
。与 gaupol 不同,您不仅可以处理字幕文件,还可以处理任何文本文件。
安装 enca:
sudo apt-get install enca
要找出文件的编码,看看 enca 是否可以猜出:
enca <file>
或者,如果失败了,并且你知道文本文件的语言,那么运行例如
enca -L ru <file>
看看它能给你什么。从 获取支持的语言列表
man enca
。我建议转换为 UTF-8,你可以通过运行
enconv -x utf8 <file>
或者,如果
enca
不能通过猜测语言enconv -L ru -x utf8 <file>
这应该够了吧。
答案4
另一个允许转换成不同格式(并带有大量功能)的字幕编辑器是埃吉苏布。它的原生格式 (.ass) 受 VLC Media Player 和 MPlayer 支持,转换为该格式应该可以解决编码问题。