Thread escape und decode entities bei empfangenen Daten (14 answers)
Opened by john at 2009-03-17 12:12

Gast john
 2009-03-17 12:34
#119482 #119482
Ein Beispiel, klar:

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Package main;

my ($json);

if($query->param('json')) {     
    $json         = new JSON->utf8(1)->decode($query->url_param('json'));    
}

sub change_gal_name {

    my $gid    = $json->{'gid'};
    my $name   = $json->{'newname'};

    # ...
}

newname kann nun aber Zeichen wie öäüß usw behinhalten, welche in der Datenbank aber als ü usw gespeichert werden sollen. Daher möchte ich gleich zu Beginn alle in JSON gespeicherten Variablen eben so umwandeln.

Ich habe es mit folgendem Ansatz verfolgt:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Package main;


require HTML::Entities;

my ($json,$json_cleared);

if($query->param('json')) {     
    $json         = new JSON->utf8(1)->decode($query->url_param('json'));
    
    # html entity:
    while (my $json_key = keys %$json) {
        
        $json_cleared->{$json_key} 
            = HTML::Entities::encode_entities($json->{$json_key});
        
    }
    
}

sub change_gal_name {

    my $gid    = $json_cleared->{'gid'};
    my $name   = $json_cleared->{'newname'};

    # ...
}

Das endet allerdings nie und in meinem Errorlog hagelt es
Code: (dl )
Use of uninitialized value in substitution (s///) at /usr/lib/perl5/HTML/Entities.pm line 470
Fehler

View full thread escape und decode entities bei empfangenen Daten