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 c
cat
git diff
git log will be opened by less not vi.
So you should set lang to less.
$ export LESSCHARSET=utf-8 && git log