Mac OS X 上的 ISO-8859-5

Mac OS X 上的 ISO-8859-5
mbp:Desktop alexus$ file $$.txt
235.txt: ISO-8859 text, with CRLF line terminators
mbp:Desktop alexus$ 

但事实并非如此ISO-88598859-5(俄语)。

该文件在 Windows 上可以正常打开(我可以看到俄文字符),但在 Mac 上我得到的却是一些未知的符号或问号。

有解决办法吗?

答案1

要打开文件而不转换其编码,您需要找到一种方法来为打开文件的程序指定文件的编码。

您需要避免双击文件,而是直接使用要用于查看/编辑文件的应用程序的“打开…”菜单项(通常是文件菜单下的 ⌘O 或打开…)。如果应用程序能够读取其他编码的文件,它可能会让您在“打开…”对话框中指定编码(类似地,它们应该允许您在使用另存为…时指定(可能不同的)编码)。

例如,文本編輯在打开...对话框的底部有“纯文本编码”下拉列表。如果未列出 ISO 8859-5,您可能需要选择“自定义编码列表...”将其添加到列表中。您可能需要“西里尔文 (ISO 8859-5)”、“西里尔文 (Windows)”、“西里尔文 (KOI8-R)”或其他内容(如果您确定这是编码,请使用 8859-5,否则我不确定其他西里尔文编码的代码点分配是否完全相似)。

终端通常需要 UTF-8 编码字符,因此如果您只想“cat”文件,则应该将数据转码为 UTF-8。

iconv -f ISO-8859-5 -t UTF-8 < filename

您还可以使用图标保存转换后文件的副本(您可能会发现使用 UTF-8 文件更容易,因为许多程序默认将文件解码为 UTF-8):

iconv -f ISO-8859-5 -t UTF-8 < filename > filename.utf8.txt

您可以获取以下编码的完整列表:图标支持iconv -l

如果你想使用程序来查看/编辑里面的文件终端,则步骤(再次)取决于您使用的程序。您可能在Vim像这样:

vim -c 'e ++enc=iso-8859-5 filename'

或者如果Vim已经开始:

:e ++enc=iso-8859-5 filename

您可以获取以下编码的列表Vim知道:help *encoding-names*

答案2

用于iconv将文件转换为 UTF-8。

相关内容