Hallo ...
Ich habe ein kleines Problem mit Umlauten !!!
Ich lese den Wert "Geisterbeschwörer" aus einem XML File aus (http://www.camelot-europe.com/herald...guilds/433.xml) und möchte den dann wieder über ein PHP Script ausgeben (http://www.namaar.de/glw/frameset/members.php) !!!
Leider gibt er mir da allerdings nicht den Wert "Geisterbeschwörer" sondern "Geisterbeschwörer" aus ...
Kann das daran liegen, daß er die Umsetzung von "ö" nach "ö" nicht macht ?
Mein Script zur ansicht :
<?php
$insideitem = false;
$tag = "";
$race = "";
$class = "";
$level = "";
$guildrank = "";
$totalrp = "";
$lastweekrp = "";
$totalkills = "";
$totaldeaths = "";
$anon = "";
function startElement($parser, $name, $atts) {
global $insideitem, $tag;
if ($insideitem) {
$tag = $name;
} elseif ($name == "CHARACTER") {
$insideitem = true;
}
switch (strtolower($name)) {
case "guild":
printf("<h1> %s / %s </h1>\n \n",$atts["NAME"], $atts["REALM"]);
break;
case "character";
printf("<tr align='center'>\n");
printf("\n\n<td>%s</td>\n",$atts["NAME"]);
break;
default:
$html .= "";
break;
}
}
function cdata($parser, $text) {
global $insideitem, $tag, $race, $class, $level, $guildrank, $totalrp, $lastweekrp, $totalkills, $totaldeaths, $anon;
if ($insideitem) {
switch ($tag) {
case "RACE":
$race .= $text;
break;
case "CLASS":
$class .= $text;
break;
case "LEVEL":
$level .= $text;
break;
case "GUILDRANK":
$guildrank .= $text;
break;
case "TOTALRP":
$totalrp .= $text;
break;
case "LASTWEEKRP":
$lastweekrp .= $text;
break;
case "TOTALKILLS":
$totalkills .= $text;
break;
case "TOTALDEATHS":
$totaldeaths .= $text;
break;
case "ANON":
$anon .= $text;
break;
}
}
}
function endElement($parser, $name) {
global $insideitem, $tag, $race, $class, $level, $guildrank, $totalrp, $lastweekrp, $totalkills, $totaldeaths, $anon;
if ($name == "CHARACTER") {
printf("<td>%s</td>\n", $race);
// hier ist der versuch, die werte in html konventionen umzusetzten !!!
// --------------------------------------------------------------------
switch ($class){
case "Geisterbeschwörer":
$class .= "Geisterbeschwörer";
break;
}
// --------------------------------------------------------------------
printf("<td>%s</td>\n", $class);
printf("<td>%s</td>\n", $level);
if ($guildrank == 0):
$guildrank = "Gildenmeister";
endif;
if ($guildrank == 1):
$guildrank = "Ratsvorsitzender";
endif;
if ($guildrank == 2):
$guildrank = "Ratsmitglied";
endif;
if ($guildrank == 3):
$guildrank = "Meistergildenritter";
endif;
if ($guildrank == 4):
$guildrank = "Gildenritter";
endif;
if ($guildrank == 5):
$guildrank = "Meisterknappe";
endif;
if ($guildrank == 6):
$guildrank = "Knappe";
endif;
if ($guildrank == 7):
$guildrank = "Krieger";
endif;
if ($guildrank == 8):
$guildrank = "Gildenmitglied";
endif;
if ($guildrank == 9):
$guildrank = "Gildenanwärter";
endif;
printf("<td>%s</td>\n", $guildrank);
printf("<td>%s</td>\n", $totalrp);
// printf("<td>%s</td>\n", $lastweekrp);
// printf("<td>%s</td>\n", $totalkills);
// printf("<td>%s</td>\n", $totaldeaths);
// printf("<td>%s</td>\n", $anon);
printf("</tr>\n");
$race = "";
$class = "";
$level = "";
$guildrank = "";
$totalrp = "";
$lastweekrp = "";
$totalkills = "";
$totaldeaths = "";
$anon = "";
$insideitem = false;
}
}
printf("<html>\n");
printf("<body bgcolor='#000000'background='./images/hintergrund.jpg'>\n");
printf("<table border='1' width='100%s'>\n", "%");
printf("<tr align='center'>\n");
printf("<th>Name</th>\n");
printf("<th>Rasse</th>\n");
printf("<th>Klasse</th>\n");
printf("<th>Level</th>\n");
printf("<th>Rang</th>\n");
printf("<th>Reichspunkte</th>\n");
printf("</tr>\n");
// Die XML-Datei wird in die Variable $xmlFile eingelesen
$xmlFile = implode("", file("http://www.camelot-europe.com/herald/servers/Avalon/guilds/433.xml"));
// Der Parser wird erstellt
$parser = xml_parser_create();
// Setzen der Handler
xml_set_element_handler($parser,"startElement","endElement");
// Setzen des CDATA-Handlers
xml_set_character_data_handler($parser, "cdata");
// Parsen
xml_parse($parser, $xmlFile);
// Gibt alle verbrauchten Ressourcen wieder frei.
xml_parser_free($parser);
// Ausgabe der globalen Variable $html.
print $html;
printf("</table>");
?>
Schonmal danke & gruss,
svenwie
Ich habe ein kleines Problem mit Umlauten !!!
Ich lese den Wert "Geisterbeschwörer" aus einem XML File aus (http://www.camelot-europe.com/herald...guilds/433.xml) und möchte den dann wieder über ein PHP Script ausgeben (http://www.namaar.de/glw/frameset/members.php) !!!
Leider gibt er mir da allerdings nicht den Wert "Geisterbeschwörer" sondern "Geisterbeschwörer" aus ...
Kann das daran liegen, daß er die Umsetzung von "ö" nach "ö" nicht macht ?
Mein Script zur ansicht :
<?php
$insideitem = false;
$tag = "";
$race = "";
$class = "";
$level = "";
$guildrank = "";
$totalrp = "";
$lastweekrp = "";
$totalkills = "";
$totaldeaths = "";
$anon = "";
function startElement($parser, $name, $atts) {
global $insideitem, $tag;
if ($insideitem) {
$tag = $name;
} elseif ($name == "CHARACTER") {
$insideitem = true;
}
switch (strtolower($name)) {
case "guild":
printf("<h1> %s / %s </h1>\n \n",$atts["NAME"], $atts["REALM"]);
break;
case "character";
printf("<tr align='center'>\n");
printf("\n\n<td>%s</td>\n",$atts["NAME"]);
break;
default:
$html .= "";
break;
}
}
function cdata($parser, $text) {
global $insideitem, $tag, $race, $class, $level, $guildrank, $totalrp, $lastweekrp, $totalkills, $totaldeaths, $anon;
if ($insideitem) {
switch ($tag) {
case "RACE":
$race .= $text;
break;
case "CLASS":
$class .= $text;
break;
case "LEVEL":
$level .= $text;
break;
case "GUILDRANK":
$guildrank .= $text;
break;
case "TOTALRP":
$totalrp .= $text;
break;
case "LASTWEEKRP":
$lastweekrp .= $text;
break;
case "TOTALKILLS":
$totalkills .= $text;
break;
case "TOTALDEATHS":
$totaldeaths .= $text;
break;
case "ANON":
$anon .= $text;
break;
}
}
}
function endElement($parser, $name) {
global $insideitem, $tag, $race, $class, $level, $guildrank, $totalrp, $lastweekrp, $totalkills, $totaldeaths, $anon;
if ($name == "CHARACTER") {
printf("<td>%s</td>\n", $race);
// hier ist der versuch, die werte in html konventionen umzusetzten !!!
// --------------------------------------------------------------------
switch ($class){
case "Geisterbeschwörer":
$class .= "Geisterbeschwörer";
break;
}
// --------------------------------------------------------------------
printf("<td>%s</td>\n", $class);
printf("<td>%s</td>\n", $level);
if ($guildrank == 0):
$guildrank = "Gildenmeister";
endif;
if ($guildrank == 1):
$guildrank = "Ratsvorsitzender";
endif;
if ($guildrank == 2):
$guildrank = "Ratsmitglied";
endif;
if ($guildrank == 3):
$guildrank = "Meistergildenritter";
endif;
if ($guildrank == 4):
$guildrank = "Gildenritter";
endif;
if ($guildrank == 5):
$guildrank = "Meisterknappe";
endif;
if ($guildrank == 6):
$guildrank = "Knappe";
endif;
if ($guildrank == 7):
$guildrank = "Krieger";
endif;
if ($guildrank == 8):
$guildrank = "Gildenmitglied";
endif;
if ($guildrank == 9):
$guildrank = "Gildenanwärter";
endif;
printf("<td>%s</td>\n", $guildrank);
printf("<td>%s</td>\n", $totalrp);
// printf("<td>%s</td>\n", $lastweekrp);
// printf("<td>%s</td>\n", $totalkills);
// printf("<td>%s</td>\n", $totaldeaths);
// printf("<td>%s</td>\n", $anon);
printf("</tr>\n");
$race = "";
$class = "";
$level = "";
$guildrank = "";
$totalrp = "";
$lastweekrp = "";
$totalkills = "";
$totaldeaths = "";
$anon = "";
$insideitem = false;
}
}
printf("<html>\n");
printf("<body bgcolor='#000000'background='./images/hintergrund.jpg'>\n");
printf("<table border='1' width='100%s'>\n", "%");
printf("<tr align='center'>\n");
printf("<th>Name</th>\n");
printf("<th>Rasse</th>\n");
printf("<th>Klasse</th>\n");
printf("<th>Level</th>\n");
printf("<th>Rang</th>\n");
printf("<th>Reichspunkte</th>\n");
printf("</tr>\n");
// Die XML-Datei wird in die Variable $xmlFile eingelesen
$xmlFile = implode("", file("http://www.camelot-europe.com/herald/servers/Avalon/guilds/433.xml"));
// Der Parser wird erstellt
$parser = xml_parser_create();
// Setzen der Handler
xml_set_element_handler($parser,"startElement","endElement");
// Setzen des CDATA-Handlers
xml_set_character_data_handler($parser, "cdata");
// Parsen
xml_parse($parser, $xmlFile);
// Gibt alle verbrauchten Ressourcen wieder frei.
xml_parser_free($parser);
// Ausgabe der globalen Variable $html.
print $html;
printf("</table>");
?>
Schonmal danke & gruss,
svenwie
Kommentar