Ankündigung

Einklappen
Keine Ankündigung bisher.

Formular Umlaute

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

  • Formular Umlaute

    Hallo,

    ich habe auf meiner Homepage ein Formular, dass mit jquery und ajax versendet wird. (Alles kein Problem).

    Mein einziges Problem sind die "HTML-Sonderzeichen":
    Ich decodiere die Daten vor dem Senden im Javascript mit
    Code:
    encodeURIComponent
    und encodiere die Daten im PHP-Teil mit
    Code:
    html_entity_decode
    . Mit diesen 2 Funktionen kommt jedoch nur mehr Schrott heraus.

    Mit welchen Funktionen könnte das denn funktionieren?

    Danke Flo


  • #2
    Zitat von flflfl Beitrag anzeigen
    ich habe auf meiner Homepage ein Formular, dass mit jquery und ajax versendet wird.
    Per GET oder per POST?

    Zitat von flflfl Beitrag anzeigen
    ... und encodiere die Daten im PHP-Teil mit
    Code:
    html_entity_decode
    .
    Versuch's lieber mit urldecode. Aber eigentlich macht PHP das automatisch.
    Meinungen, die ich geäußert habe, sind nicht notwendigerweise meine eigenen. Abweichungen von der deutschen Rechtschreibung unterliegen dem Urheberrecht, dürfen aber unter den Bedingungen von [URL="http://creativecommons.org/licenses/by-nc-nd/3.0/"][IMG]http://i.creativecommons.org/l/by-nc-nd/3.0/80x15.png[/IMG][/URL] verwendet werden

    Kommentar


    • #3
      Zitat von mimomamu Beitrag anzeigen
      Per GET oder per POST?
      Versuch's lieber mit urldecode. Aber eigentlich macht PHP das automatisch.
      Daten kommen mit POST. urldecode brachte keine Besserung.

      Also soll ich gar nichts im PHP-Teil machen? nur im JS-Teil mit encodeURIComponent?

      Danke.

      Kommentar


      • #4
        Zitat von flflfl Beitrag anzeigen
        Daten kommen mit POST.
        Dann musst du einen passende Content-Type-Header setzen. Als Content-Type bietet sich application/x-www-form-urlencoded an. Wenn du das nicht machst, dann werden die Daten als text/plain verwendet und PHP weiß nicht, wie sie zu interpretieren sind.

        Zitat von flflfl Beitrag anzeigen
        Also soll ich gar nichts im PHP-Teil machen?
        Jedenfalls kein html_entity_decode und am besten auch kein urldecode.
        Meinungen, die ich geäußert habe, sind nicht notwendigerweise meine eigenen. Abweichungen von der deutschen Rechtschreibung unterliegen dem Urheberrecht, dürfen aber unter den Bedingungen von [URL="http://creativecommons.org/licenses/by-nc-nd/3.0/"][IMG]http://i.creativecommons.org/l/by-nc-nd/3.0/80x15.png[/IMG][/URL] verwendet werden

        Kommentar


        • #5
          Ich habe im jquery ajax nun dataType = "html" angegeben (War mir am plausibelsten Specifying the Data Type for AJAX Requests - jQuery JavaScript Library)

          Brachte keine Besserung.

          Zusammenfassung: Form->JS macht encodeURIComponent -> POST -> PHP -> HTML-Mail daten kommen falsch an.

          Aus üöä wird ÌÀö

          Kommentar


          • #6
            Zitat von flflfl Beitrag anzeigen
            Ich habe im jquery ajax ...
            Du hättest du erwähnen müssen, dass du jQuery verwendest. Ich bin davon ausgegangen, dass du selbst ein XMLHttpRequest erzeugst,

            Zitat von flflfl Beitrag anzeigen
            Zusammenfassung: Form->JS macht encodeURIComponent -> POST -> PHP -> HTML-Mail daten kommen falsch an.
            Du hättest erwähnen müssen, dass du eine E-Mail generierst und in dieser der Zeichensalat auftritt. Ich bin davon ausgegangen, das die Daten bei PHP falsch ankommen.

            Ich bin dann mal weg.
            Meinungen, die ich geäußert habe, sind nicht notwendigerweise meine eigenen. Abweichungen von der deutschen Rechtschreibung unterliegen dem Urheberrecht, dürfen aber unter den Bedingungen von [URL="http://creativecommons.org/licenses/by-nc-nd/3.0/"][IMG]http://i.creativecommons.org/l/by-nc-nd/3.0/80x15.png[/IMG][/URL] verwendet werden

            Kommentar


            • #7
              sorry

              Kann mir sonst jemand helfen?

              Danke

              Kommentar


              • #8
                google -> zeichensatz

                Kommentar


                • #9
                  Ich tippe eher auf google -> rfc2045
                  Meinungen, die ich geäußert habe, sind nicht notwendigerweise meine eigenen. Abweichungen von der deutschen Rechtschreibung unterliegen dem Urheberrecht, dürfen aber unter den Bedingungen von [URL="http://creativecommons.org/licenses/by-nc-nd/3.0/"][IMG]http://i.creativecommons.org/l/by-nc-nd/3.0/80x15.png[/IMG][/URL] verwendet werden

                  Kommentar


                  • #10
                    Zitat von flflfl Beitrag anzeigen
                    Zusammenfassung: Form->JS macht encodeURIComponent -> POST -> PHP -> HTML-Mail daten kommen falsch an.

                    Aus üöä wird ÌÀö
                    Deutliches Encoding Problem, du verwendest nicht konsequent EIN Encoding, daher entsteht irgendwo der Salat (da auch nicht umkodiert wird). Kontrolliere mit welchen Encodings die beteiligten Dateien gespeichert sind. Falls möglich stell ALLES auf UTF-8 um, dann erledigt sich dein Problem von ganz alleine. Benutz auch die Boardsuche zu diesem Thema, das wurde bereits mehrfach ausreichend behandelt...
                    Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

                    Kommentar


                    • #11
                      Hallo,

                      alles auf utf-8 umzustellen geht leider nicht, da es ein größeres shopsystem ist.

                      ich habe mir jetzt mit utf8_decode() geholfen.

                      Kommentar

                      Lädt...
                      X