Thread Catalyst character encoding Latin-1 zu UTF-8
(24 answers)
Opened by cbxk1xg at 2016-12-03 19:24
Ich habe ich mir der Sache noch mal angenommen und es gelöst. Ich habe das encoding utf8 in der Config raus genommen und mir eine kleine Funktion geschrieben, die den Schurken (Broadcast System) identifiziert und dann alle Parameter entsprechend "behandelt".
Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 sub decodeRequestParams { my ($self, $c) = @_; my @params = $c->request->param; my %requestParams = (); my $ua = Parse::HTTP::UserAgent->new( $c->request->user_agent ); for my $key (@params) { if ($ua =~ m/MyBadBadKitty/i) { $requestParams{$key} = decode("iso-8859-1", $c->request->param($key)); } else {$requestParams{$key} = $c->request->param($key);} } return (%requestParams); } Last edited: 2016-12-09 15:44:11 +0100 (CET) |