Re: [PATCH] gitweb: Fix the author initials in blame for non-ASCII names
From: Jakub Narębski <hidden>
Date: 2016-06-15 22:58:35
On Fri, Aug 30, 2013 at 11:39 PM, Kyle J. McKay [off-list ref] wrote:
On Aug 30, 2013, at 11:13, Junio C Hamano wrote:quoted
Junio C Hamano [off-list ref] writes:quoted
Ævar Arnfjörð Bjarmason [off-list ref] writes:
quoted
quoted
quoted
+ binmode $fh, ':utf8';
What happens if the author name is written in ISO-8859-1 instead of UTF-8 in the actual commit object itself? I'm pretty sure I've seen this where older commits have a ISO-8859-1 author name and then newer commits have a UTF-8 version of the same author's name. In fact, in the git repository itself, look at commit 0cb3f80d (UTF-8) and commit 7eb93c89 (ISO-8859-1) to see this in action.
Well, then you have a problem, though it is only with old history (before introduction of "encoding" header in commit object). Better and more complete solution would be to use to_utf8() function instead of 'utf8' layer, which when finding invalid UTF-8 sequence uses $fallback_encoding (by default "latin1", i.e. ISO-8859-1) instead. In my TODO list is creating PerlIO layer ':utf8-with-fallback' which would replace all those to_utf8() calls... -- Jakub Narebski