# [PATCH] Use perl builtin class utf8 for UTF-8 decoding

2 messages from 2007-12-05 to 2007-12-05. Participants: Ismail Dönmez, Junio C Hamano.
Thread: https://gitlist.dev/t/11140

## Ismail Dönmez, 2007-12-05 10:26

Subject: [PATCH] Use perl builtin class utf8 for UTF-8 decoding
Message-ID: <200712051226.30162.ismail@pardus.org.tr>
URL: https://gitlist.dev/e/200712051226.30162.ismail%40pardus.org.tr

```
Junio it would be very nice to get this in 1.5.4, fixes multiple problems and 
tested with many distros with success.

Use perl builtin class utf8 for UTF-8 decoding, this fixes Encode problems 
with older Encode and avoids problems on UTF-8 locales.

Signed-off-by: İsmail Dönmez <ismail@pardus.org.tr>
Acked-by: Jakub Narebski <jnareb@gmail.com>
Tested-by: Martin Koegler <mkoegler@auto.tuwien.ac.at>
Tested-by: Wincent Colaiuta <win@wincent.com>

diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
index ff5daa7..db255c1 100755
--- a/gitweb/gitweb.perl
+++ b/gitweb/gitweb.perl
@@ -695,10 +695,9 @@ sub validate_refname {
 # in utf-8 thanks to "binmode STDOUT, ':utf8'" at beginning
 sub to_utf8 {
 	my $str = shift;
-	my $res;
-	eval { $res = decode_utf8($str, Encode::FB_CROAK); };
-	if (defined $res) {
-		return $res;
+        if (utf8::valid($str)) {
+                utf8::decode($str);
+                return $str;
 	} else {
 		return decode($fallback_encoding, $str, Encode::FB_DEFAULT);
 	}


-- 
Never learn by your mistakes, if you do you may never dare to try again.

```

## Junio C Hamano, 2007-12-05 10:33

Subject: Re: [PATCH] Use perl builtin class utf8 for UTF-8 decoding
Message-ID: <7vzlwpv3bq.fsf@gitster.siamese.dyndns.org>
URL: https://gitlist.dev/e/7vzlwpv3bq.fsf%40gitster.siamese.dyndns.org
In-Reply-To: <200712051226.30162.ismail@pardus.org.tr>

```
Thanks.  Already queued, but I've been busy and haven't pushed out yet.

```
