Thread escape und decode entities bei empfangenen Daten
(14 answers)
Opened by john at 2009-03-17 12:12
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 |