我有一个网页,它的字符集是 8859-9,它是在 Windows 中使用字符编码 ascii 准备的。从 ftp 访问,我在 ubuntu 中通过 gedit 打开它,然后土耳其字符发生了变化,例如 (土耳其语 ı 变成了 ý)。我该怎么做才能避免这种愚蠢的事情?
答案1
您是否尝试过将您的语言环境设置为tr_TR.ISO-8859-9
要了解您当前的语言环境,请使用locale
不带参数的命令。它将打印除 LANGUAGE 之外的所有相关环境变量的值。locale charmap
打印当前编码的名称。要了解可用的语言环境,请键入locale -a
。要了解可用的编码,请键入locale -m
。
如果您使用 gedit 的文件打开对话框,您可以为要打开的文件选择适当的编码。
如果上述方法无效,请使用file filename
and ten的输出更新您的问题相关的输出行hexdump -C filename
我该怎么做才能避免这种愚蠢的事情?
随时随地使用 utf-8 编码。使用iconv
或将非 utf-8 编码的内容转换为 utf-8recode
编码。确保您使用的所有字体都支持脚本您使用的(即具有相关unicode范围的字形)。
答案2
您可以使用以下方式进行转换iconv
:
$ iconv -f iso-8859-1 -t utf-8 somefile.latin1 > somefile.utf8
$
的替代方法iconv
是recode
。如果还不知道,可以使用以下命令找出字符集file
:
$ file somefile.latin1
somefile.latin1: ISO-8859 text
$