rauchi: utf-8 bei ein paar hundert Dateien

Ich möchte eine Seite mit ein paar hundert php-,html-,etc. Dateien auf utf-8 umstellen.

lt. Änderung der Zeichencodierung einer (X)HTML-Seite auf UTF-8 muss ich ja folgendes machen:
1. Dateien utf-8 kodiert speichern
2. Zeichenkodierung angeben
3. der HTTP Header vom Server soll in utf-8 antworten

2. und 3. ist kein Problem und schon erledigt.

Nur zu "Dateien utf-8 kodiert speichern" habe ich ein paar Fragen:

  • Müssen alle Dateien int utf-8 gespeichert werden oder nur jene in denen "utf-8 Zeichen" enthalten
  • Gibt es ein Programm das, alle Dateien in einem gewissen Ordner (inkl. Unterordner) utf-8 kodiert speichert (alle auf einmal). Wenn ja welches?

Danke für die Hilfe

  1. Ja, nur solche Dateien, die UTF-8-Zeichen enthalten, müssen auch als UTF-8 gespeichert werden.
    Ja, es gibt auch Programme, mit denen man Dateien in UTF-8 (Zeichenkonvertieren, optional noch BOM am Anfang der Datei) umwandeln kann. Die meisten modernen Skriptsprachen wie PHP bringen dazu ihre eigenen Funktionen mit, so dass Du Dir auch schnell ein Skript schreiben könntest, statt lange nach einem Programm zu suchen.

    Gruß, LX

    --
    X-Self-Code: sh:( fo:) ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: Unusual
    X-Please-Search-Archive-First: Absolutely Yes
    1. Hello,

      Ja, nur solche Dateien, die UTF-8-Zeichen enthalten, müssen auch als UTF-8 gespeichert werden.

      Solche, die nur 7-Bit ASCII enthalten sind ja schon in UTF-8 gespeichert :-)

      Liebe Grüße aus Syburg bei Dortmund

      Tom vom Berg

      --
      Nur selber lernen macht schlau
      http://bergpost.annerschbarrich.de
    2. @@LX:

      Ja, nur solche Dateien, die UTF-8-Zeichen enthalten

      ?? Es gibt keine „UTF-8-Zeichen“.

      müssen auch als UTF-8 gespeichert werden.

      Der Satz sollte heißen: Nur solche Dateien, die Nicht-ASCII-Zeichen* enthalten, müssen auch als UTF-8 gespeichert werden. Denn Zeichen mit Codepoints < x80 werden in ISO 8859 und UTF-8 identisch kodiert: durch ein Byte, dessen Wert der dem Codepoints entspricht.

      Live long and prosper,
      Gunnar

      * Basic Latin, Bereich U+0020 bis U_007E plus Zeilenumbruch u.ä.

      --
      Erwebsregel 208: Manchmal ist das einzige, was gefährlicher als eine Frage ist, eine Antwort.
      1. @@Gunnar Bittersmann:

        Der Satz sollte heißen: Nur solche Dateien, die Nicht-ASCII-Zeichen* enthalten

        Mist, Klammern vergessen: Nicht-(ASCII-Zeichen*)  ;-)

        Live long and prosper,
        Gunnar

        --
        Erwebsregel 208: Manchmal ist das einzige, was gefährlicher als eine Frage ist, eine Antwort.
        1. Hello,

          Mist, Klammern vergessen: Nicht-(ASCII-Zeichen*)  ;-)

          Ist das jezt ein Pointer?

          SCNR
          Liebe Grüße aus Syburg bei Dortmund

          Tom vom Berg

          --
          Nur selber lernen macht schlau
          http://bergpost.annerschbarrich.de
    3. echo $begrüßung;

      [...] UTF-8 ([...] optional noch BOM am Anfang der Datei) [...]

      Die BOM ist nicht zu empfehlen, da sie als allererstes in der Datei stehen muss und damit Probleme bei mindestens HTML und PHP bereitet. Beispielsweise für PHP müsste sie vor dem ersten <?php stehen und stellt damit eine Ausgabe dar, die das weitere Senden von HTTP-Headern verhindert.

      rauchi: Wenn du Empfehlungen für Software suchst, gib doch bitte an für welches Betriebssystem die sein soll. Für Linux/Unix eignet sich iconv zum Konvertieren von Dateien.

      echo "$verabschiedung $name";