PHP und Sonderzeichen



  • Hallo,

    ich nutze PHP4 und hab mir ein script geschrieben, welches den Inhalt eines Ordners (in eine HTML-datei) ausgibt. ich verwende dafür readdir().

    Das Problem ist nun folgendes: Manche der Dateien im Ordner enthalten Umlaute und/oder andere Sonderzeichen... php meint nun (mir is rätselhaft, wies da drauf kommt!!), zb. ein ö als "&8221;" usw. in die HTML datei schreiben zu müssen, was aber im HTML (uni)code natürlich was völlig anderes is. Das führt dazu, dass statt den Sonderzeichen irgendwelche anderen dargestellt werden...

    Was kann man da machen, damit die Zeichen gscheit (also in der Datei für ö zb. "&246;" steht) dargestellt werden?

    danke



  • hi
    probiers mal mit htmlentities()

    string htmlentities ( string string [, int quote_style [, string charset]])
    


  • das hab ich bereits, aber leider funktioniert das nicht 😞 es kommen dann halt wieder irgendwelchen anderen Zeichen raus, nur nich die, die es sein müssten...



  • bevor ichs vergesse: ich habs bei htmlentities mit jedem charset probiert... kein erfolg.



  • kapier nicht was du meinst...
    zeig am besten mal den code und das "falsche" ergebnis.



  • Vielleicht meinst du das ja so, dass die & bei &xxx; nach htmlentities() nicht so wie gewünscht erfasst werden. Das kannst du etwa so umgehen:

    preg_replace('/&(#\d)/', '&$1', htmlentities($string)
    


  • problem hat sich erledigt. PHP4 kam nich ganz mit unicode-dateisystemen zurecht. hab upgedatet und unter PHP5 läuft alles wie es sollte.

    Danke trotzdem.


Anmelden zum Antworten