希腊语中的 .srt 文本文件显示不正确

GEO*_*FIS 5 gedit file-roller unzip

我正在运行 ubuntu 16.04,当我下载电影的字幕时,解压缩 zip 文件末尾然后尝试.srt使用 gedit打开文件,我只看到这种形式的乱码:

1 00:04:17,052 --> 00:04:18,963 ÊáëÞ ãç.
2 00:04:19,452 --> 00:04:20,851 ¹ôáí êÜðïôå.
Run Code Online (Sandbox Code Playgroud)

我尝试使用 jedit 和 LibreOffice Writer 打开文件,但这也不起作用。在 gedit 上,我尝试先打开 gedit,然后浏览到我的文件,并将字符编码设置为希腊语并将文本语言设置为希腊语,而不是仅仅双击文件以打开它,但这似乎没有帮助.

我也按照我在另一个问题中找到的关于类似问题的说明进行了操作,但这根本没有区别。
我真的不知道问题出在哪里,在 gedit 或文件滚轮中。更奇怪的是,当我运行 14.04 时,我记得按照我在开始时描述的过程进行操作,一切都运行良好。

我对 Linux 比较陌生,只能使用终端执行基本操作。如果有人可以帮助我,我将不胜感激。

Gio*_*tph 3

我遇到了同样的问题,只是通过其他人的帮助解决了它。直接使用gedit, LibreOffice或其他编辑器打开它并尝试将其保存为其他编码没有帮助。原因是它们通常以 Windows-1253 集进行编码,而许多 Linux 程序会自动将此代码集检测为“Western”

一种简单的方法是告诉您使用的每个程序它不是“西方”代码集。对于Gedit,您可以通过单独打开 gedit 来做到这一点,转到"Open file",选择您的文件,然后在窗口底部正确的"Character Encoding",此时应写“自动检测到”,并且必须更改为希腊语代码集以获得可读的文本。然后 Gedit 以正确的代码集打开该文件。对于VLC,由于我们正在讨论字幕,唯一要做的就是将默认字幕编码更改为“Windows-1253”,您可以在 中找到它"Preferences"/"Subtitles"即使您无法在其他编辑器中正确读取 .srt,希腊字母也会正常显示。

打开在 Windows 计算机中编写的 txt 文件中的可读希腊字符的另一种最安全的方法是首先将它们转换为 UTF-8,这将为您提供特定文件的永久解决方案。方法是通过带有iconv工具的控制台:

iconv -f Windows-1253 -t UTF-8 input.txt > output.txt
Run Code Online (Sandbox Code Playgroud)

显然,您可以从 .txt 文件所在的文件夹或其他任何地方执行它,但在这种情况下给出 input.txt 和 output.txt 的完整路径。在极少数情况下,原始文件编码可能是 ISO-8859-7,这是另一种希腊编码,如果 Windows-1253 不起作用,您也可以尝试,将其替换为“from”编码,即

iconv -f ISO-8859-7 -t UTF-8 input.txt > output.txt
Run Code Online (Sandbox Code Playgroud)


小智 1

您需要的解决方案是gaupolgaupol是一个字幕编辑程序,也用于纠正错误的符号显示。

首先,您在终端中输入: file -bi my_subtitle_track.srt

这样您就可以获取文件的编码(可能不会每次都按预期工作)。你会得到这样的结果

text/plain; charset=iso-8859-1

然后,安装完成后gaupol,启动它,并尝试使用上面得到的编码结果打开文件。如果您看到符号显示正确,则意味着您使用了正确的编码打开了它,现在您需要保存它作为与其他程序兼容的通用编码。File->Save As-> My_subs_track.srt使用编码选择UTF-8

为我工作,希望这有帮助:)