heinetz: Kodierung

Hallo Forum,

wenn ich mit meinem Editor eine neue (php-)Datei erstelle,
habe ich die Möglichkeit, die Codierung des Dokuments
anzupassen.

Ich erstelle z.B. eine Datei test.php und stelle dann die
Codierung auf utf 8 um. Sicher kann ich irgendwo einstellen,
dass neue Datei immer in utf8 kodiert angelegt werden, aber
das ist erstmal nicht meine Frage.

Jetzt lasse ich php in meinem Skript mit fopen("test.php", "w")
diese datei anlegen und stelle hinterher fest, die Datei ist
nicht utf8-codiert.

was ist dafür verantwortlich, wie kan ich's ändern ?

danke und

beste gruesse,
heinetz

  1. Hallo heinetz

    wenn ich mit meinem Editor eine neue (php-)Datei erstelle,
    habe ich die Möglichkeit, die Codierung des Dokuments
    anzupassen.

    Soviel ich weiss ist die Codierung nicht im text-document gespeichert.
    Der Editor merkt sich einfach die Datei und welche Codierung es verwendet.
    Also nicht die Datei hat die Codierung utf8 sondern der ensprechende Inhalt.

    Jetzt lasse ich php in meinem Skript mit fopen("test.php", "w")
    diese datei anlegen und stelle hinterher fest, die Datei ist
    nicht utf8-codiert.

    Sind die Zeichen die du ins File pflegst utf8 codiert?

    Gruss
    ajax cms

  2. Hallo,

    Jetzt lasse ich php in meinem Skript mit fopen("test.php", "w") diese datei anlegen und stelle hinterher fest, die Datei ist nicht utf8-codiert.

    na sowas aber auch. ;-)
    Zunächst mal solltest du das Missverständnis über Bord werfen, die Codierung sei eine Eigenschaft der Datei. Nein, sie ist eine Eigenschaft des *Dateiinhalts*. Bei einer leeren Datei (0 Byte Länge), die keinen Inhalt hat, ist es demzufolge auch nicht sinnvoll, ihr eine bestimmte Codierung anzudichten.

    was ist dafür verantwortlich, wie kan ich's ändern ?

    Du als PHP-Programmierer bist dafür verantwortlich, und du kannst es ändern, indem du UTF-8-codierte Daten in die geöffnete Datei hineinschreibst.

    So long,
     Martin

    --
    Most experts agree: Any feature of a program that you can't turn off if you want to, is a bug.
    Except with Microsoft, where it is just the other way round.
  3. wunderbar !

    also müsste:

    $fp = fopen("test.txt", "w");  
    fputs($fp, utf8_encode("test"));  
    $fclose($fp);  
    
    

    ... eine "UTF8-Datei" test.php erzeugen ;)

    bin begeistert !

    heinetz

    1. ... eine "UTF8-Datei" test.php erzeugen ;)

      richtig, wenn das Skript, dass die Datei erzeugt, eine ist ;)
      Und wenn dann statt:

      $fp = fopen("test.txt", "w");

      fputs($fp, utf8_encode("test"));
      $fclose($fp);

        
      
      > ~~~php
      
      $fp = fopen("test.txt", "w");  
      
      > fputs($fp, utf8_encode("äüö"));  
      > $fclose($fp);  
      > 
      
      

      ... steht in test.txt Müll, weil ich doppelt encodiert habe ;)

      i see, der sache wieder einstück näher gekommen. danke !

      besten abend,
      heinetz