Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Umlaute werden nicht erkannt

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Umlaute werden nicht erkannt

    Hallo,

    ich habe folgendes Problem:

    PHP-Code:
    $name $_POST['name'];
    $name str_replace("ä""ae"$name);
    $name str_replace("?""-frage-"$name); 
    Es befindet sich keine Datenbank-Abfrage oder ähnliches dazwischen (Umlaute werden übrigens perfekt in der DB gespeichert und ausgelesen).

    str_replace mit "?" funktioniert aber mit "ä" nicht! Ich habe das Gefühl, dass mein Editor (Scriptly) die Umlaute falsch in der PHP-Datei speichert ... so dass der Umgang mit Umlauten zwar überall richtig funktioniert aber wenn ich Umlaute direkt im PHP-Code verwende der Fehler hier vom Editor erzeugt wird. Ansonsten kann ich mir den Fehler nicht erklären ...

    Hat wer ne Idee / Lösung?

    Ich hatte das Problem übrigens schon einmal, da hatte nen anderer Coder das Dokument genommen und etwas mit rumgespielt = es funktionierte.
    Dann habe ich nichts am Code geändert die Datei nur mit Scripty bearbeitet = Das Problem war wieder da.

    Somit bin ich mir zu 99% sicher dass es an Scriptly liegt, ich möchte aber ungern den Editor wechseln.

  • #2
    Klingt nach einem Zeichensatz-Problem (auch charset)...

    Du solltest überprüfen, welcher Zeichensatz im Formular gesendet wird und welchen Zeichensatz deine PHP-Code-Datei hat.


    Sehr sinnvoll für Zeichensatz-übergreifende Probleme sind das

    accept-charset Attribut für <form>
    und iconv / mb_* für PHP
    Tutorials zum Thema Technik:
    https://pilabor.com
    https://www.fynder.de

    Kommentar


    • #3
      Also bei mir ist Standartmäßig "charset=ISO-8859-1" eingestellt und ich hatte noch nie Probleme damit. Sonst schau doch mal unter:

      Optionen -> Allgemein -> Editor -> unten rechts "Voreinstellungen" -> Kodierung.
      #m { f : g }

      Kommentar


      • #4
        Bekommst du spätestens, wenn du das Euro-Symbol benutzen willst...

        Der Tipp des Tages ist auch hier: EIN encoding verwenden, und zwar konsequent und überall.
        Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

        Kommentar


        • #5
          Wie finde ich heraus welchen Zeichensatz eine Datei hat?

          PHP-Code:
          <form action="index.php'" method="post" enctype="multipart/form-data" accept-charset="UTF-8"
          hat leider nicht geholfen

          PHP-Code:
          $test iconv_get_encoding($name);
          echo 
          $test[0]; 
          Der Code und ähnliche Versuche zeigen leider nichts an.

          Update: habe ja noch ein paar geantwortet in der Zeit wo ich am schreiben war

          Also alles was ich bisher eingestellt habe war das Encoding in der Datenbank wo ich überall *nachkuck* utf8_general_ci gewählt habe ... aber zu einer Datenbank-Abfrage kommt es hier ja nicht mal.

          Update: Optionen -> Allgemein -> Editor -> unten rechts "Voreinstellungen" -> Kodierung.

          ist bei mir auf ANSI / ASCII in Scriptly

          Kommentar


          • #6
            Das herausfinden ist nicht so einfach... eigentlich solltest du wissen, mit welchem Encoding du etwas gespeichert hast. Nahezu jeder Editor bringt heutzutage ein feature mit, um das Encoding einer Datei einzustellen.
            Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

            Kommentar


            • #7
              Ich habe die Kodierung vom Editor jetzt auf UTF-8 gestellt wobei bisher noch der Fehler da ist, ich versuche mla die Datei komplett neu zu erstellen wobei ich die schon neu gespeichert habe aber evtl. ist ja noch irgendwo das alte Encoding drin in der Datei.

              Edit: bringt auch nichts *cry*

              Gibt es keine möglichkeit Unicode zeichen oder so zu verwenden 010100100 wo es zu 100% erkannt wird?

              Kommentar


              • #8
                Ich habe jetzt einfach mal echo 'ä'; gemacht und hochgeladen mit dem Ergebniss: �

                Erstelle ich jetzt aber eine neue Datei (mit neuer Codierung) echo 'ä' = ä.

                Copy & Past geht auch nicht ...

                Wie bekomme ich jetzt die alten files in UTF-8 ohne alles neu schreiben zu müssen?

                Kommentar


                • #9
                  JUHUUUUU ES FUNKTIONIERT !!

                  Für alle die diesen Beitrag evtl. über Google etc. finden bei "Problem Umlaute Scriptly" etc.

                  Als erstes den Tipp von jnv beachten ... danke @jnv !

                  Optionen -> Allgemein -> Editor -> unten rechts "Voreinstellungen" -> Kodierung einstellen

                  Danach bei jeder Datei die bereits erstellt wurde es nochmal manuell ändern:

                  Datei > Format > Kodierung > ...

                  nochmal danke an alle, ohne euch hätte ich es nicht geschaft!

                  Kommentar

                  Lädt...
                  X