Bug 6989 Patron categories not properly displayed if not pure ASCII
authorFrédéric Demians <f.demians@tamil.fr>
Sat, 8 Oct 2011 13:30:59 +0000 (15:30 +0200)
committerPaul Poulain <paul.poulain@biblibre.com>
Fri, 4 Nov 2011 11:07:08 +0000 (12:07 +0100)
C4::Category module returns badly encoded patron categories when they are
containing non pure-ASCII characters.

To reproduce this bug:

  - Go in Administration > Patron Categories
  - Add a new category. Give it this code for example:
    Café
  - Click on Patrons link on top menu
  - Click on New button

    => You get 'Café' displayed without accent

Signed-off-by: Piotr Wejman <ropuch@bagno.be>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>

C4/Category.pm

index b81e88f..8536128 100644 (file)
@@ -71,13 +71,12 @@ C<description>.
 =cut
 
 sub all {
-    my ($class) = @_;
-    my $dbh = C4::Context->dbh;
-    return    map { $class->new($_) }    @{$dbh->selectall_arrayref(
-        # The categories table is small enough for
-        # `SELECT *` to be harmless.
-        "SELECT * FROM categories ORDER BY description",
-        { Slice => {} },
+    my $class = shift;
+    map {
+        utf8::encode($_->{description});
+        $class->new($_);
+    } @{C4::Context->dbh->selectall_arrayref(
+        "SELECT * FROM categories ORDER BY description", { Slice => {} }
     )};
 }