我有一个包含瑞典字符(åäö)且使用UTF8编码的文件。
如果我使用cat
命令来查看文件,它会正常显示,但是如果我使用git diff
命令进行比较,特殊字符会被打印为<F6>等。
例如,git diff
命令输出的示例:
- name: 'Magler<F6>d, S<F6>der<E5>sen',
我想要看到的是:
- name: 'Magleröd, Söderåsen',
我发现另一个与git和编码问题有关的问题:git, msysgit, accents, utf-8, the definitive answers 它说所有问题应该在git版本1.7.10中得到解决。我有1.8.1.2版本。
我该怎么做才能使git diff正确显示åäö?
xF6
是ISO-8859-1编码中表示ö
的代码,而xE5
是表示å
的代码。 - mattfile -bi filename.txt
给我返回了text/plain; charset=utf-8
。 - Tobbefile
只是注意到它不是 ASCII,并没有进行任何广泛的测试来验证它是否为有效的 UTF-8 文件(如果实际的字节值是0xf6和0xe5,就不会是有效的UTF-8代码点,因为紧随其后的字节没有设置第7位,而这是必须的)。file
可能只是“猜测”它是UTF-8格式 - 我相信它没有循环遍历所有可用的编码并进行测试... - twalberg