Thread Catalyst character encoding Latin-1 zu UTF-8 (24 answers)
Opened by cbxk1xg at 2016-12-03 19:24

cbxk1xg
 2016-12-08 17:01
#185741 #185741
User since
2003-10-20
496 Artikel
BenutzerIn
[default_avatar]
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)

View full thread Catalyst character encoding Latin-1 zu UTF-8