Wolfgang: Umlaute und Sonderzeichen in Dateinamen

Hallo zusammen,

ich möchte feststellen, ob eine Datei existiert.

Also: if ( - e $name ) { mach_was(); }

Leider funktioniert dies nicht, wenn im Dateinamen Umlaute vorkommen.

Wie kann ich dieses Problem lösen?

Vielen Dank
Wolfgang

  1. Hallo zusammen,

    ich möchte feststellen, ob eine Datei existiert.

    Also: if ( - e $name ) { mach_was(); }

    Leider funktioniert dies nicht, wenn im Dateinamen Umlaute vorkommen.

    Wie kann ich dieses Problem lösen?

    Laß die Umlaute weg! :-)

  2. hi,

    ich möchte feststellen, ob eine Datei existiert.

    Also: if ( - e $name ) { mach_was(); }

    machs besser so:
    if(-e $name){}

    Gruß, Rolf

  3. Hallo Wolfgang,

    Du koenntest die Umlaute direkt nach dem Posten umwandeln und dann wieder zurueckverwandeln.

    Müller zu M-ue-ller, nach erfolgter Pruefung alle -ue- im String zu ü zurueckverwandeln.

    Je nachdem, wie Deine Anwendung funktioniert, koenntest Du das ü -> -ue- auch schon vor dem Abschicken mit Javascript erledigen

    Dieter

    1. Hallo Dieter,

      Müller zu M-ue-ller, nach erfolgter Pruefung alle -ue- im String zu ü zurueckverwandeln.

      Ist nur schlecht bei Uerdingen z.B. ;)

      Gruss Sven

      1. Hallo Sven,

        eigentlich nicht, wenn man von ü nach -ue-, also minus ue minus konvertiert. Die Bindestriche waren schon ernst gemeint, um solche Sachen abzufangen. Bei meinem geliebten Saarbr-ue-cken funktioniert's jedenfalls ;-)

        Dieter

        1. Hallo Dieter,

          eigentlich nicht, wenn man von ü nach -ue-, also minus ue minus konvertiert. Die Bindestriche waren schon ernst gemeint, um solche

          Stimmt! die Bindestriche hatte ich -ue-bersehen - sorry!

          Sven

    2. Du koenntest die Umlaute direkt nach dem Posten umwandeln und dann wieder zurueckverwandeln.

      Hallo Dieter,

      vielen Dank, aber ich lese den Dateinamen aus der Datenbank, und schaue danach einfach ins Filesystem, obs die Datei denn gibt. Und dort ist die Datei (unverändrlich) mit Umlauten.

      Gruss
      Wolfgang

    3. Moin Moin !

      Hallo Wolfgang,

      Du koenntest die Umlaute direkt nach dem Posten umwandeln und dann wieder zurueckverwandeln.

      Waaaaaaaaaaaaahh! Race condition!

      Oder: Wie mache ich mir selbst das Leben schwer und dem Cracker leicht ...

      Wolfgang, Ich gehe mal davon aus, daß Du mit Windows arbeitest. Windows codiert die Umlaute je nach Lust und Laune mal im Windows-Encoding (bei der Anzeige), mal im alten DOS-Encoding (im Dateisystem). OEM2ANSI und ANSI2OEM aus 16bit-Zeiten lassen grüßen.

      Du solltest wirklich Umlaute vermeiden und Dateinamen auf Buchstaben, Ziffern, Punke, Minus und Unterstrich begrenzen.

      Ansonsten solltest Du dir die Win32-Erweiterungen von Perl mal antun.

      Alexander

      --
      Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so!"