This patch fixes an issue whereby the DBIx::Class schema objects
were not connecting to the underlying database in UTF8 mode. This
most visibility manifested as patron list pages not displaying
diacritics correctly.
To test:
[1] Create a patron list, and make sure that it contains at least
one patron whose name or patron category description contains
a non-ASCII character.
[2] View the list contents; the diacritics should appear mangled.
[3] Apply the patch.
[4] View the patron list again. This time, the diacritics should
be displayed correctly. Note that Apache will also log
"list.pl: Wide character in print ...", but this is the lesser
of two evils.
[5] Verify that prove -v t/db_dependent/Koha_Database.t passes.
[6] (extra credit) Verify that t/db_dependent/Koha_Database.t
passes when connect to a PostgreSQL database.
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
my $db_port = $context->config("port") || '';
my $db_user = $context->config("user");
my $db_passwd = $context->config("pass");
+
+ my $db_opts = ($db_driver eq 'mysql') ? { mysql_enable_utf8 => 1 } :
+ ($db_driver eq 'Pg') ? { pg_enable_utf8 => 1 } :
+ { };
my $schema = Koha::Schema->connect(
"DBI:$db_driver:dbname=$db_name;host=$db_host;port=$db_port",
- $db_user, $db_passwd );
+ $db_user, $db_passwd, $db_opts );
return $schema;
}