Re: Fix UTF Encoding issue

[email protected] (Ismail Dönmez) Tue, 4 Dec 2007 00:20:26 +0200
Newsgroups perl.unicode
Organization Pardus / KDE
Message-ID <[email protected]>
Monday 03 December 2007 Tarihinde 23:46:24 yazmıştı:
> Jakub Narebski wrote:
> > On Mon, 3 Dec 2007, Martin Koegler wrote:
> >> On Mon, Dec 03, 2007 at 04:06:48AM -0800, Jakub Narebski wrote:
> >>> Ismail Dönmez <[email protected]> writes:
> >>>> Monday 03 December 2007 Tarihinde 12:14:43 yazm??t?:
> >>>>> Benjamin Close <[email protected]> writes:
> >>>>>> -	eval { $res = decode_utf8($str, Encode::FB_CROAK); };
> >>>>>> -	if (defined $res) {
> >>>>>> -		return $res;
> >>>>>> -	} else {
> >>>>>> -		return decode($fallback_encoding, $str, Encode::FB_DEFAULT);
> >>>>>> -	}
> >>>>>> +	eval { return ($res = decode_utf8($str, Encode::FB_CROAK)); };
> >>>>>> +	return decode($fallback_encoding, $str, Encode::FB_DEFAULT);
> >>>>>>  }
> >>
> >> This version is broken on Debian sarge and etch. Feeding a UTF-8 and a
> >> latin1 encoding of the same character sequence yields to different
> >> results.
>
> For the record, this was on a debian sid machine.
>
> #perl --version
> This is perl, v5.8.8 built for x86_64-linux-gnu-thread-multi
>
> and the result of not using the original patch was:
>
> <h1>Software error:</h1>
> <pre>Cannot decode string with wide characters at
> /usr/lib/perl/5.8/Encode.pm line 166. </pre>

Can you try the attached patch?


-- 
Never learn by your mistakes, if you do you may never dare to try again.
utf8-username.patch (text/x-diff, 313 B)
--- gitweb/gitweb.perl	2007-11-28 11:33:14.000000000 +0200
+++ gitweb/gitweb.perl	2007-11-28 11:33:42.000000000 +0200
@@ -2159,7 +2159,7 @@
 	}
 	my $owner = $gcos;
 	$owner =~ s/[,;].*$//;
-	return to_utf8($owner);
+	return $owner;
 }
 
 ## ......................................................................