Schrift
[thread]6946[/thread]

Hash verändert Daten?



<< |< 1 2 3 >| >> 22 Einträge, 3 Seiten
vayu
 2005-05-01 21:29
#54363 #54363
User since
2005-01-13
782 Artikel
BenutzerIn
[default_avatar]
Ich habe versch. XML Dateien die ich auslesen will. Ich lese also die erste aus, wo Klassennamen mit Zahlen codiert sind.

das folgende steht in meinem ersten hash, wo die Klassen (zB Geisterbeschwörer mit ID kodiert sind)

Quote
Geisterbeschwörer


jetzt lese ich ein andres file mit charakterdaten aus, wo zu jedem charakter nur der Zahlencode zu der Klasse steht.

also per regex zahlencode abfragen und aus dem ersten hash, den klassennamen rausparsen

Code: (dl )
1
2
3
4
5
6
if( $tmp =~ /\s*<character\s*id=\"\d+\"\s*name=\"($char.*)\"\s*laston.*race=\"(\d+)\".*class=\"(\d+)\"/ ) {
$char_data{"name"} = $1;
print $ids{"classes"}{$3}."\n";
$char_data{"class"} = $ids{"classes"}{$3}; #<-------- hier
$char_data{"race"} = $ids{"races"}{$2};
}



und das wird dann in meinem characterhash draus ...

Quote
$VAR1 = {
'class' => "Geisterbeschw\x{f6}rer", # <-- komisch
'crafter' => {
'Bogenbauer' => '479',
'Schneider' => '1163'
},
'housing' => '1701',
'lastweekrp' => '3763',
'level' => '50',
'name' => 'Kollaps',
'race' => 'Kobold',
'totalrp' => '197686'
};
Ronnie
 2005-05-01 23:02
#54364 #54364
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
Code: (dl )
use locale;
könnte dein Problem beheben.
vayu
 2005-05-01 23:26
#54365 #54365
User since
2005-01-13
782 Artikel
BenutzerIn
[default_avatar]
hat leider nicht geholfen :(
Ronnie
 2005-05-01 23:52
#54366 #54366
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
dein Problem hat wahrscheinlich mit dem encoding der XML-Dateien zu tun die du verwendest. Evtl. musst du beim einlesen den verwendeten Zeichensatz anpassen.
vayu
 2005-05-02 00:03
#54367 #54367
User since
2005-01-13
782 Artikel
BenutzerIn
[default_avatar]
die benutzen UTF8, welches ich aber schon durch utf8::decode anpasse, und in meinem ersten hash stehts ja richtig drin ...

nur wenn ich es dann umspeicher wird son salata drauss. also wenn ich vom ersten hash in den zweiten umspeicher
GwenDragon
 2005-05-02 13:56
#54368 #54368
User since
2005-01-17
14544 Artikel
Admin1
[Homepage]
user image
[quote=vayu,01.05.2005, 19:29]
Quote
Geisterbeschwörer


Quote
"Geisterbeschw\x{f6}rer"     # <-- komisch
[/quote]
Wieso komisch? Unter ISO-8859-1 ist \xF6 ein ö !\n\n

<!--EDIT|GwenDragon|1115027887-->
die Drachin, Gwendolyn


Unterschiedliche Perl-Versionen auf Windows (fast wie perlbrew) • Meine Perl-Artikel

vayu
 2005-05-02 14:45
#54369 #54369
User since
2005-01-13
782 Artikel
BenutzerIn
[default_avatar]
aber wieso gibt er es denn nicht richtig aus?
esskar
 2005-05-02 14:45
#54370 #54370
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
könnte das vielleicht einfach an data-Dumper liegen?
vayu
 2005-05-02 14:45
#54371 #54371
User since
2005-01-13
782 Artikel
BenutzerIn
[default_avatar]
hmm meinst evtl mal richtig ausgeben per print?
esskar
 2005-05-02 14:47
#54372 #54372
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
ansonsten konvertierst du es mit

Code: (dl )
s!\\x{([0-9][a-f])([0-9][a-f])}!chr(ord($1.$2))!ig;
\n\n

<!--EDIT|esskar|1115030988-->
<< |< 1 2 3 >| >> 22 Einträge, 3 Seiten



View all threads created 2005-05-01 21:29.