HI Leute,
ich habe folgendes Problem. Ich hole mir ein XML-File von meinem Webserver. Das File sieht so aus:
<?xml version="1.0" encoding="UTF-8"?>
<device><information><key name="Gerät" value="Kühl-Gefrierkombi" /><key name="Gerätestatus" value="In Betrieb" /><key name="Kühlstatus" value="In Betrieb" /><key name="Ziel-Kühltemperatur" value="7 °C" /><key name="Aktuelle Kühltemperatur" value="7 °C" /><key name="Info" value="-" type="info" group="popup" /><key name="Gefrierstatus" value="In Betrieb" /><key name="Ziel-Gefriertemperatur" value="-18 °C" /><key name="Aktuelle Gefriertemperatur" value="-18 °C" /></information></device>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
use warnings;
use strict;
use LWP::Simple;
use XML::Simple;
use Data::Dumper;
use utf8;
my $url = 'test.xml';
my $content = get $url; die "Couldn\'t get $url" unless $content;
my $doc = XMLin( $content );
print Dumper($doc);
Das Problem ist jetzt die Ausgabe von $doc sieht so aus:
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
28
29
30
31
32
33
34
'information' => {
'key' => {
"Ziel-K\x{fc}hltemperatur" => {
'value' => "7 \x{b0}C"
},
"Aktuelle K\x{fc}hltemperatur" => {
'value' => "7 \x{b0}C"
},
'Ziel-Gefriertemperatur' => {
'value' => "-18 \x{b0}C"
},
"K\x{fc}hlstatus" => {
'value' => 'In Betrieb'
},
'Aktuelle Gefriertemperatur' => {
'value' => "-18 \x{b0}C"
},
'Gefrierstatus' => {
'value' => 'In Betrieb'
},
"Ger\x{e4}t" => {
'value' => "K\x{fc}hl-Gefrierkombi"
},
'Info' => {
'group' => 'popup',
'value' => '-',
'type' => 'info'
},
"Ger\x{e4}testatus" => {
'value' => 'In Betrieb'
}
}
}
};
Da sind alle Umlaute falsch. Wie kriege ich die wieder richtig hin. Das Perl-Skript ist UNIX und utf-8 codiert und muss auch so bleiben?
Vielen Dank für Tipps.
Gruß kami