From: Jakub Narebski Date: Tue, 29 Nov 2011 19:46:56 GMT Subject: Re: [PATCH] gitweb: Output valid utf8 in git_blame_common('data') Message-ID: In-Reply-To: Jürgen Kreileder writes: > With javascript-actions enabled gitweb showed broken author names in > the tooltips on blame pages. > > Signed-off-by: Juergen Kreileder > --- > gitweb/gitweb.perl | 4 +++- > 1 files changed, 3 insertions(+), 1 deletions(-) > > diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl > index 4f0c3bd..c863afe 100755 > --- a/gitweb/gitweb.perl > +++ b/gitweb/gitweb.perl > @@ -6107,7 +6107,9 @@ sub git_blame_common { > -type=>"text/plain", -charset => "utf-8", > -status=> "200 OK"); > local $| = 1; # output autoflush > - print while <$fd>; > + while (my $line = <$fd>) { > + print to_utf8($line); > + } > close $fd > or print "ERROR $!\n"; > > -- Thanks. ACK. BTW. all those troubles with not forgetting to call to_utf8() make me wonder if we wouldn't be better to forget about supporting $fallback_encoding and just put use open qw(:encoding(UTF-8) :std); at the beginning of gitweb, c.f. http://training.perl.com/OSCON2011/index.html Or use open qw(:utf8 :std); though then we simply discard errors. -- Jakub Narębski