Reputation: 3824
I have a file with Swedish characters in it (åäö) encoded with UTF8.
If I cat
the file it displays fine, but if I do git diff
the special characters are printed, for example, as <F6>.
Example git diff
output:
- name: 'Magler<F6>d, S<F6>der<E5>sen',
What I wanted to see:
- name: 'Magleröd, Söderåsen',
I found another question related to git and encoding problems: git, msysgit, accents, utf-8, the definitive answers It says all problems should be fixed in git version 1.7.10. I have version 1.8.1.2
What can I do to make git diff properly display åäö?
Upvotes: 47
Views: 32082
Reputation: 3824
@matt and @twalberg were correct. The file wasn't actually UTF-8 encoded. Trying to figure this out wasn't helped by the fact that my terminal (hterm) can't input åäö properly (but it can display and copy/paste them)...
iconv -f ISO-8859-1 -t UTF-8 in.txt > out_utf-8.txt
solved my issue
Upvotes: 4
Reputation: 6137
git log will be opened by less not vi.
So you should set lang to less.
$ export LESSCHARSET=utf-8 && git log
Upvotes: 3
Reputation: 78673
git
is dumping out raw bytes. In this case, it doesn't care what your file's encoding is. The highlighted <F6>
you're seeing is coming from less
, which is presumably configured as your PAGER
. Try setting:
LESSCHARSET=UTF-8
Upvotes: 83