Handle utf-8 properly

Fixes errors like:

  Caught exception in engine "Wide character in syswrite at /nix/store/498lwsrn5kkdh1q8kn3vcpd3457w6m7a-hydra-perl-deps/lib/perl5/site_perl/5.16.3/Starman/Server.pm line 547."

Note that these errors didn't happen if the database encoding was set
to SQL_ASCII (which was the case for hydra.nixos.org, explaining why
it didn't get these errors). However, now the encoding must be
UTF8. To change it, do:

  update pg_database set encoding = pg_char_to_encoding('UTF8') where datname = 'hydra';
This commit is contained in:
Eelco Dolstra 2014-05-01 16:33:25 +02:00
parent 67c79a16a8
commit 1306291c6c
3 changed files with 3 additions and 0 deletions

View file

@ -87,6 +87,7 @@ in rec {
CatalystPluginSessionStateCookie CatalystPluginSessionStateCookie
CatalystPluginSessionStoreFastMmap CatalystPluginSessionStoreFastMmap
CatalystPluginStackTrace CatalystPluginStackTrace
CatalystPluginUnicodeEncoding
CatalystTraitForRequestProxyBase CatalystTraitForRequestProxyBase
CatalystViewDownload CatalystViewDownload
CatalystViewJSON CatalystViewJSON

View file

@ -8,6 +8,7 @@ use Hydra::Plugin;
use Hydra::Model::DB; use Hydra::Model::DB;
use Catalyst::Runtime '5.70'; use Catalyst::Runtime '5.70';
use Catalyst qw/ConfigLoader use Catalyst qw/ConfigLoader
Unicode::Encoding
Static::Simple Static::Simple
StackTrace StackTrace
Authentication Authentication

View file

@ -6,6 +6,7 @@ use Hydra::Helper::Nix;
__PACKAGE__->config( __PACKAGE__->config(
TEMPLATE_EXTENSION => '.tt', TEMPLATE_EXTENSION => '.tt',
ENCODING => 'utf-8',
PRE_CHOMP => 1, PRE_CHOMP => 1,
POST_CHOMP => 1, POST_CHOMP => 1,
expose_methods => [qw/buildLogExists buildStepLogExists jobExists/]); expose_methods => [qw/buildLogExists buildStepLogExists jobExists/]);