# git-gui messes up the diff view on non ASCII characters

4 messages from 2007-11-09 to 2007-11-11. Participants: Peter Baumann, Michele Ballabio, Shawn O. Pearce, Johannes Schindelin.
Thread: https://gitlist.dev/t/10770

## Peter Baumann, 2007-11-09 15:49

Subject: git-gui messes up the diff view on non ASCII characters
Message-ID: <20071109154935.GC28800@xp.machine.xx>
URL: https://gitlist.dev/e/20071109154935.GC28800%40xp.machine.xx

```
I'm managing some UTF-8 encoded LaTeX files in git, which include some
non ASCII characters like the german ä,ö and ü. If I view the diff with
git-diff on an UTF8 enabled terminal, all looks nice. So does the diff
view in gitk after I commited my changes. Only git-gui shows some
"strange" characters, so I assume it is an encoding problem.

I have to admit that I'm totally unaware how this should work, but at
least I think my configuration is correct here, because otherwise git-diff
or gitk would show the same behaviour. Is there anything which could be
done to make git-gui happy, too?

-Peter

```

## Michele Ballabio, 2007-11-09 21:30

Subject: Re: git-gui messes up the diff view on non ASCII characters
Message-ID: <200711092230.37905.barra_cuda@katamail.com>
URL: https://gitlist.dev/e/200711092230.37905.barra_cuda%40katamail.com
In-Reply-To: <20071109154935.GC28800@xp.machine.xx>

```
On Friday 09 November 2007, Peter Baumann wrote:
> I'm managing some UTF-8 encoded LaTeX files in git, which include some
> non ASCII characters like the german ä,ö and ü. If I view the diff with
> git-diff on an UTF8 enabled terminal, all looks nice. So does the diff
> view in gitk after I commited my changes. Only git-gui shows some
> "strange" characters, so I assume it is an encoding problem.
> 
> I have to admit that I'm totally unaware how this should work, but at
> least I think my configuration is correct here, because otherwise git-diff
> or gitk would show the same behaviour. Is there anything which could be
> done to make git-gui happy, too?

It's a known issue, and already on Shawn's ToDo list. I have to add that
viewing untracked UTF8 files in git-gui works just fine. Weird.

```

## Shawn O. Pearce, 2007-11-11 05:59

Subject: Re: git-gui messes up the diff view on non ASCII characters
Message-ID: <20071111055959.GW14735@spearce.org>
URL: https://gitlist.dev/e/20071111055959.GW14735%40spearce.org
In-Reply-To: <200711092230.37905.barra_cuda@katamail.com>

```
Michele Ballabio <barra_cuda@katamail.com> wrote:
> On Friday 09 November 2007, Peter Baumann wrote:
> > I'm managing some UTF-8 encoded LaTeX files in git, which include some
> > non ASCII characters like the german ä,ö and ü. If I view the diff with
> > git-diff on an UTF8 enabled terminal, all looks nice. So does the diff
> > view in gitk after I commited my changes. Only git-gui shows some
> > "strange" characters, so I assume it is an encoding problem.
> > 
> > I have to admit that I'm totally unaware how this should work, but at
> > least I think my configuration is correct here, because otherwise git-diff
> > or gitk would show the same behaviour. Is there anything which could be
> > done to make git-gui happy, too?
> 
> It's a known issue, and already on Shawn's ToDo list. I have to add that
> viewing untracked UTF8 files in git-gui works just fine. Weird.

Cute.  That's because in the untracked case we open the file and
let the platform's chosen encoding be used to convert it into the
text viewer.  In the tracked diff case we force the encoding to
be in binary.

Now gitk works because it assumes the diff is in the same character
encoding as the commit message itself.  Since commit messages are
typically in UTF-8 (as that is the Git default encoding) then a
UTF-8 encoded file shows correctly in gitk.

What's the right behavior here?  Just assume the platform encoding
is correct for the file we are showing and show it?  Assume the
commit encoding configured in i18n.commitencoding is the correct
one for the file content?  Something else?

-- 
Shawn.

```

## Johannes Schindelin, 2007-11-11 11:20

Subject: Re: git-gui messes up the diff view on non ASCII characters
Message-ID: <Pine.LNX.4.64.0711111120120.4362@racer.site>
URL: https://gitlist.dev/e/Pine.LNX.4.64.0711111120120.4362%40racer.site
In-Reply-To: <20071111055959.GW14735@spearce.org>

```
Hi,

On Sun, 11 Nov 2007, Shawn O. Pearce wrote:

> Michele Ballabio <barra_cuda@katamail.com> wrote:
> > On Friday 09 November 2007, Peter Baumann wrote:
> > > I'm managing some UTF-8 encoded LaTeX files in git, which include some
> > > non ASCII characters like the german ä,ö and ü. If I view the diff with
> > > git-diff on an UTF8 enabled terminal, all looks nice. So does the diff
> > > view in gitk after I commited my changes. Only git-gui shows some
> > > "strange" characters, so I assume it is an encoding problem.
> > > 
> > > I have to admit that I'm totally unaware how this should work, but at
> > > least I think my configuration is correct here, because otherwise git-diff
> > > or gitk would show the same behaviour. Is there anything which could be
> > > done to make git-gui happy, too?
> > 
> > It's a known issue, and already on Shawn's ToDo list. I have to add that
> > viewing untracked UTF8 files in git-gui works just fine. Weird.
> 
> Cute.  That's because in the untracked case we open the file and
> let the platform's chosen encoding be used to convert it into the
> text viewer.  In the tracked diff case we force the encoding to
> be in binary.
> 
> Now gitk works because it assumes the diff is in the same character
> encoding as the commit message itself.  Since commit messages are
> typically in UTF-8 (as that is the Git default encoding) then a
> UTF-8 encoded file shows correctly in gitk.
> 
> What's the right behavior here?  Just assume the platform encoding
> is correct for the file we are showing and show it?  Assume the
> commit encoding configured in i18n.commitencoding is the correct
> one for the file content?  Something else?

My twopence: assume utf-8, but make it a _git-gui_ config variable.

Ciao,
Dscho

```
