Bug 11906: ensure that Koha::Database uses UTF8 mode when connecting to databases
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>
This commit is contained in:
parent
b21d16ca75
commit
05a6beba9f
1 changed files with 5 additions and 1 deletions
|
@ -53,9 +53,13 @@ sub _new_schema {
|
|||
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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue