字符编码由更多,cat和更少支持

Modified on: Sat, 30 Jun 2018 05:49:30 +0800

根据file

,我有一个如下编码的文本文件

  

ISO-8859文本,带有CRLF行终止符

此文件包含带重音符号的法语文本。我的shell能够显示重音,而控制台模式下的emacs能够正确显示这些重音。

我的问题是morecatless工具无法正确显示此文件。我想这意味着这些工具不支持这种字符编码集。这是真的?这些工具支持哪些字符编码?

最佳答案

你的shell可以显示重音等,因为它可能使用UTF-8。由于有问题的文件是不同的编码,less morecat正试图将其作为UTF读取并失败。您可以使用

检查当前的编码

echo $LANG

您有两种选择,您可以更改默认编码,也可以将文件更改为UTF-8。要更改编码,请打开终端并键入

export LANG="fr_FR.ISO-8859"

例如:

$ echo $LANG 
en_US.UTF-8
$ cat foo.txt 
J'ai mal � la t�te, c'est chiant!
$ export LANG="fr_FR.ISO-8859"
$ xterm <-- open a new terminal 
$ cat foo.txt 
J'ai mal à la tête, c'est chiant!

如果您使用的是gnome-terminal或类似内容,则可能需要激活编码,例如右键单击terminator

gnome-terminal

您的其他(更好)选项是更改文件的编码:

$ cat foo.txt 
J'ai mal � la t�te, c'est chiant!
$ iconv -f ISO-8859-1 -t UTF-8  foo.txt > bar.txt
$ cat bar.txt 
J'ai mal à la tête, c'est chiant!
作者:terdon

相关问答

添加新评论