Ankündigung

Einklappen
Keine Ankündigung bisher.

Server Ausgabe bei XML Export

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Eviandem
    hat ein Thema erstellt Server Ausgabe bei XML Export.

    Server Ausgabe bei XML Export

    Hallo,
    woran kann es liegen, dass bei ein und demselben XML Export Skript je nach Server die Umlaute beim einen Server richtig ("ä, ö, ü") und beim nächsten falsch ("‰, ˆ, ¸") ausgegeben werden?

    Code:
    $s .= "<".$col->name.">".htmlspecialchars($row[$y])."</".$col->name.">\n";

    Ist php dafür überhaupt zuständig, oder ist das eine Einstellung des WebServers?


    Gruß
    Eviandem

  • Eviandem
    antwortet
    Hallo reliC,
    hatte ich auch schon ausprobiert. Bringt nix: Die XML Datei hat falsche Zeichen und beim Import in meine andere Datenbank gibt es sogar eine Fehlermeldung. Aus diesem Grund musste ich bei iso-8859-1 bleiben.


    Ich hatte da auch schon drüber nachgedacht, aber die Zeile

    PHP-Code:
    $s .= "<?xml version="1.0\" encoding=\"iso-8859-1\" ?>\n";
    macht nichts anderes, als Text in ein Dokument zu schreiben. Man könnte auch "Donald Duck" reinschreiben und erhielte das selbe Resultat beim Export (der Import in die andere Datenbank hingegen würde vermutlich gar nicht mehr funktionieren).


    -> Oder liege ich mit meinem Verständnis falsch, dass es doch eh nur reiner Text ist, der da exportiert wird?


    Gruß
    Eviandem

    Einen Kommentar schreiben:


  • reliC
    antwortet
    hmm also ich habe gerade dein anderen post gesehen wo du dein XML export skript gepostet hast dabei fiel mir auf das du diese Zeichenkodierung benutzt:

    PHP-Code:
    $s .= "<?xml version="1.0\" encoding=\"iso-8859-1\" ?>\n";
    ich weiß nich ob das der fehler is wieso er die die zeichen falsch ausgiebt aber probier das mal zu ändern in:

    PHP-Code:
        $s .= "<?xml version="1.0\" encoding=\"utf-8\" ?>\n";
    greetz

    Einen Kommentar schreiben:


  • Eviandem
    antwortet
    Zitat von reliC Beitrag anzeigen
    hast im modul APACHE ENVIROMENT
    den eintrag:
    HTTP_ACCEPT_CHARSET | ISO-8859-1,utf-8;q=0.7,*;q=0.7
    Habe ich leider bei beiden nicht. Unter APACHE ENVIROMENT und auch sonst nirgends befindet sich bei mir ein Eintrag der HTTP_ACCEPT_CHARSET oder ähnlich heißt.

    Das einzige was ich gefunden habe ist:

    default_charset no value no value

    Aber das steht unter Configuration - PHP Core und hat vermutlich nichts mit dem Apache Server zu tun.


    Hier sind die Apache Versionen der beiden Server:

    Apache/2.0.53 (Linux/SUSE) - das ist ein Strato vPower Server
    Apache/2.0.59 (Unix) PHP/5.2.3 DAV/2 - das ist meine lokale MAMP Installation


    Gruß
    Eviandem

    Einen Kommentar schreiben:


  • reliC
    antwortet
    also wenn du die php info ausfürst auf deinem server dann bekommst dann scrollst du bissl runter und hast im modul APACHE ENVIROMENT
    den eintrag:
    HTTP_ACCEPT_CHARSET | ISO-8859-1,utf-8;q=0.7,*;q=0.7
    danach kannst du mal schauen aber so wie ich es sehe hast du ja eigentlich schon den richtigen ISO standart drinn vielleicht schauste noch ob du utf-8 anhast ansonsten bin ich überfragt wüsst nicht wo noch der fehler dann liegt maybe doch in deiner xml script datei ?

    Einen Kommentar schreiben:


  • Eviandem
    antwortet
    So, ich habe jetzt Zugang zu beiden Servern und habe auf beiden die phpinfo aufgerufen.

    Der eine läuft mit PHP 4.3.10 (auf diesem werden die Zeichen richtig ausgegeben)

    Der andere läuft mit PHP 5.2.3 (hier werden die falschen Zeichen ausgegeben)


    Den Wert HTTP_ACCEPT_CHARSET habe ich bei beiden nicht finden können (habe sogar im Browserfenster danach gesucht)

    Das einzige was zum Thema ISO-8859-1 bei beiden stand:

    Directive Local Value Master Value
    iconv.input_encoding ISO-8859-1 ISO-8859-1
    iconv.internal_encoding ISO-8859-1 ISO-8859-1
    iconv.output_encoding ISO-8859-1 ISO-8859-1


    Und nun?

    Gruß
    Eviandem

    Einen Kommentar schreiben:


  • Eviandem
    antwortet
    Hallo Chriz,
    ich bin schon zufrieden mit den Antworten! reliC hat mir schon mal ein Stück weiter geholfen.

    Jetzt muss ich erstmal die erforderlichen Informationen zusammentragen.


    Gruß
    eviandem

    Einen Kommentar schreiben:


  • Chriz
    antwortet
    Wir wissen garnichts ueber deinen XML-Export und auch ueber die Herkunft der Daten wissen wir nichts. Wie sollen wir denn da helfen?

    Einen Kommentar schreiben:


  • reliC
    antwortet
    also ich kann mir grad nix anderes vorstellen als das du einfach den falschen iso standart gesetzt hast in der server config. Deswegen zeigt er dir die Umlaute nicht and bzw macht zeichen andere zeichen draus deswegen würd ich erstmal danach suchen. Du hast ja gesagt das das skript auf nem anderen server richtig läuft daher liegt der fehler schonmal nicht im skript. Schau doch mal in der php.ini nach da steht was du als default charset gesetzt hast

    Einen Kommentar schreiben:


  • Eviandem
    antwortet
    Ja, das hört sich so einfach an

    Natürlich wird ein "ä" eingegeben und ich will in der XML Datei ein "ä" haben (bzw. hinterher in der anderen Datenbank).

    Aaaaaaaaaaber, als Anfänger in Sachen PHP muss man mit allem rechnen. So hätte es genauso gut heißen können:
    - "Ist doch logisch - "ä" muss als "‰" ausgegeben werden, schliesslich...
    oder
    - "Das kommt drauf an" (meine Lieblingsantwort


    Wenn man weiß, wonach man Suchen muss, ist es erheblich einfacher


    Gruß
    Eviandem

    Einen Kommentar schreiben:


  • reliC
    antwortet
    na ich glaube doch du hast da dein text in deinen <items> usw so wie es die deine XML Sytax haben will und die willst du doch sicher richtig angezeigt bekommen also ein ä soll ein ä sein und nicht das dir aus deinem ä ein % gemacht wird opder sonstiges

    Einen Kommentar schreiben:


  • Eviandem
    antwortet
    OK, werde ich machen, aber was wäre das richtige beim XML Export?

    Ist ("ä, ö, ü") richtig, oder ("‰, ˆ, ¸")?


    Gruß
    Eviandem

    Einen Kommentar schreiben:


  • reliC
    antwortet
    hmm das riecht doch stark nach einem zeichencodierungsfehler führ doch mal eine php_info dateio auf deinem webserver aus und schau dir mal die zeichencodierung an die eingestellt ist

    HTTP_ACCEPT_CHARSET ISO-8859-1,utf-8;q=0.7,*;q=0.7

    z.b steht ziehmlich weit oben

    greetz

    Einen Kommentar schreiben:

Lädt...
X