hi ihr netten helfer:
ich hab wieder mal ein prob, ich habe eine xml datei in der äöü enthalten sind, wenn man sie sich direkt vom server zieht
http://www.camelot-europe.com/herald.../guilds/21.xml
sind die äöü drin. jetzt hab ich nutze ich einen xml-parser (von apache glaub ich) und der macht schon nach dem öffen folgendes daraus:
Code:
GeisterbeschwĂÂśrer
was Geisterbeschwörer heissen sollte, ich lade die datei runter und öffne sie mit folgender funktion:
Code:
function getfile($getfile, $putfile){
$data = implode("n",file($getfile));
if($data){
$fp = fopen($putfile,"w");
fwrite($fp, "$data");
fclose($fp);
}
}
wobei diese funktion richtig arbeitet, denn auch ein manuelles downloaden mit wget hilft nicht.
jetzt öffne ich die datei um sie dem parser zu über geben und schon nach dem öffen sieht man das die äöü nicht mehr drin sind.
Code:
if (!($fp = fopen($xml_file, 'r'))) {
die("Could not open $xml_file for parsing!n");
}
while ($data = fread($fp, 4096)) {
echo $data; // schon hier sind die äöü's nicht mehr da!!!!!
}
// loop through the file and parse baby!
while ($data = fread($fp, 4096)) {
if (!($data = utf8_encode($data))) {
echo 'ERROR'."n";
}
// äöü umwandern
//$data = preg_replace('/ä/','ä',$data);
// sowas dachte ich mir!
if (!xml_parse($xml_parser, $data, feof($fp))) {
die(sprintf( "XML error: %s at line %dnn",
xml_error_string(xml_get_error_code($xml_parser)),
xml_get_current_line_number($xml_parser)));
}
}
ja also kurz zusammengefasst, ich brauche eine zeile oder ein paar zeilen die in einer datei:
ö gegen ö
austauscht......