Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Umlaute ersetzen

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Umlaute ersetzen

    Hallo,

    ich versuche Umlaute zu ersetzen.
    Ich finde das recht komisch, habe eig. gedacht es wäre total Simpel.
    Wenn ich einfach irgendeinen String in eine Variable schreibe funktioniert das Ersetzen, aber nicht mit dem Filename... Warum??
    Beispiel:
    PHP-Code:
    $filename $_FILES["file"]["name"];
    $filename = (string) $filename;
    $file_exts = array("jpg""bmp""jpeg""gif""png");
    $such_array  = array ('ä''ö''ü''ß');
    $ersetzen_array = array ('ae''oe''ue''ss');
    $textohneuml  str_replace($such_array$ersetzen_array$filename);
    echo 
    $textohneuml
    Vorher habe ich einfach ein Input Feld:
    PHP-Code:
    <input type="file" name="file" id="file"><br
    Wenn ich nun die Datei auf meinem Rechner löl.jpg auswähle und Abschicke dann Ersetzt er mir die Umlaute nicht und bei dem echo kommt löl.jpg raus...

    Danke im Voraus

  • #2
    Was sagt denn dein Browser in welchem Zeichensatz diese Seite angezeigt wird?

    Kommentar


    • #3
      ..und es wäre wichtig zu wissen welchen Zeichensatz dein Clientsystem (Win?, Linux?) hat, auf welchen du die Files auswählst.

      Kommentar


      • #4
        Zitat von jspit Beitrag anzeigen
        ..und es wäre wichtig zu wissen welchen Zeichensatz dein Clientsystem (Win?, Linux?) hat, auf welchen du die Files auswählst.
        Abstrahiert PHP das nicht?

        Kommentar


        • #5
          Ich wüsste jetzt nicht in wie ich im Browser (Firefox) nachschauen kann welches Zeichensystem verwendet wird.
          Die Seite sollte eig durch <meta charset="utf-8"> in UTF8 angezeigt werden.
          Ich benutze Windows 7 auf Deutsch mit Firefox, aber ich glaube nicht, dass es was mit der Anwendung zu tun hat wenn es mit einem normalen Satz funktioniert.
          Als Beispiel funktioniert:
          PHP-Code:
          //$filename = $_FILES["file"]["name"];
          //$filename = (string) $filename;
          $filename "ümlaute sünd dööf";
          $file_exts = array("jpg""bmp""jpeg""gif""png");
          $such_array  = array ('ä''ö''ü''ß');
          $ersetzen_array = array ('ae''oe''ue''ss');
          $textohneuml  str_replace($such_array$ersetzen_array$filename);
          echo 
          $textohneuml
          Es kommt raus: uemlaute suend doeoef.

          Funktioniert nicht:

          PHP-Code:
          $filename $_FILES["file"]["name"];
          $filename = (string) $filename;
          $file_exts = array("jpg""bmp""jpeg""gif""png");
          $such_array  = array ('ä''ö''ü''ß');
          $ersetzen_array = array ('ae''oe''ue''ss');
          $textohneuml  str_replace($such_array$ersetzen_array$filename);
          echo 
          $textohneuml
          Ich habe das Bild löl123.jpg ausgewählt und es kommt raus:
          löl123.jpg
          Also funktioniert wundersamer weise nicht..

          Kommentar


          • #6
            In dem Fall sollte es reichen, deinen Editor auf UTF-8 zu stellen. Damit du UTF8-Zeichen mit UTF8-Zeichen ersetzt.

            Kommentar


            • #7
              Tatsächlich
              Daran habe ich nicht gedacht.
              Notepad++ auf UTF8 eingestellt, dann hat er mir bei dem such Array alle Umlaute mit Hex Zahlen ersetzt das habe ich entfernt und wieder die Umlaute reingeschrieben.
              Siehe da es funkt...
              Vielen Dank!

              Kommentar


              • #8
                Zitat von rkr Beitrag anzeigen
                Abstrahiert PHP das nicht?
                Doch, bei Formularen ja. Da war ich auf dem falschen Dampfer...

                Schönes WE

                Kommentar

                Lädt...
                X