Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] CURL Post Sonderzeichen

Einklappen

Neue Werbung 2019

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

  • [Erledigt] CURL Post Sonderzeichen

    Hallo,

    Ich habe ein normales CURL Script, wo sonst auch alles geht.
    Nur sobald ein ö/ä/ü/Ö/Ä/Ü in dem Satz vorkommt, wirds kritisch.

    Ich würde einfach gerne wissen, welche PHP Funktionen die ÖÄÜ richtig umwandeln.

    Meine Tests z.B.

    String input:
    PHP-Code:
    (ö ä ü Ö Ä Ü
    Richtiges Ergebniss (will ich erreichen):
    PHP-Code:
    (%C3%B6%20-%20%C3%A4%20-%20%C3%BC%20-%20%C3%96%20-%20%C3%84%20-%20%C3%9C
    Encodiert mit urlencode():
    PHP-Code:
    %28%F6+-+%E4+-+%FC+-+%D6+-+%C4+-+%DC%29 
    Encodiert mit rawurlencode():
    PHP-Code:
    %28%F6%20-%20%E4%20-%20%FC%20-%20%D6%20-%20%C4%20-%20%DC%29 
    Also welche Funktion erzielt mein Ergebniss?

    Mein Test Script:
    PHP-Code:
    <?php
    $str 
    '(ö - ä - ü - Ö - Ä - Ü)';
    echo 
    'Original: '.$str.'<br>urlencode(): '.htmlspecialchars_decode($str).'<br>rawurlencode(): '.htmlspecialchars($str);
    ?>
    Also nochmal die Kurzfassung:
    Der String "(ö - ä - ü - Ö - Ä - Ü)" soll encoded werden in "(%C3%B6%20-%20%C3%A4%20-%20%C3%BC%20-%20%C3%96%20-%20%C3%84%20-%20%C3%9C)".
    Mit welcher Funktion erziele ich das Ergebniss?


  • #2
    Zitat von Bubelbub Beitrag anzeigen
    Nur sobald ein ö/ä/ü/Ö/Ä/Ü in dem Satz vorkommt, wirds kritisch.
    Das ist als Problembeschreibung nicht besonders hilfreich.

    Ich würde einfach gerne wissen, welche PHP Funktionen die ÖÄÜ richtig umwandeln.
    „Richtig“ hängt von der Zeichenkodierung ab - von der, in der die Daten vorliegen, und von der, in der das Zielsystem sie erwartet.

    Kommentar


    • #3
      Zitat von ChrisB Beitrag anzeigen
      Das ist als Problembeschreibung nicht besonders hilfreich.


      „Richtig“ hängt von der Zeichenkodierung ab - von der, in der die Daten vorliegen, und von der, in der das Zielsystem sie erwartet.
      Zum ersten,
      Mag sein, dass es nicht hilfreich ist, ich würde auch nur gerne wissen, welche Funktion das Ergebniss von mir erzielt.

      Zum zweiten,
      Ja und ich brauch die Funktion, die aus dem genannten String den "richtigen" String ausgibt.
      Weil eben das Ziel sonst bei den genannten Sonderzeichen abbricht.
      Also der String endet dann.

      Also ich brauch eine Funktion die mindestens folgendes macht:
      ö zu %C3%B6
      ä zu %C3%A4
      ü zu %C3%BC
      Ö zu %C3%96
      Ä zu %C3%84
      Ü zu %C3%9C

      Kommentar


      • #4
        Zitat von Bubelbub Beitrag anzeigen
        Also nochmal die Kurzfassung:
        Der String "(ö - ä - ü - Ö - Ä - Ü)" soll encoded werden in "(%C3%B6%20-%20%C3%A4%20-%20%C3%BC%20-%20%C3%96%20-%20%C3%84%20-%20%C3%9C)".
        Mit welcher Funktion erziele ich das Ergebniss?
        rawurlencode - aber die Klammern musst du weglassen (sonst werden die nämlich ebenfalls kodiert).

        Die Ausgangsdaten müssen aber in UTF-8 vorliegen: ö => %C3%B6
        in ISO-8859-1 wäre ö => %F6
        Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

        Kommentar


        • #5
          Zitat von Bubelbub Beitrag anzeigen
          Mag sein, dass es nicht hilfreich ist, ich würde auch nur gerne wissen, welche Funktion das Ergebniss von mir erzielt.
          Noch mal: Welches Ergebnis du mit einer der entsprechenden Kodierungs-Funktionen erhältst, hängt von der verwendeten Zeichenkodierung ab.

          Kommentar


          • #6
            Dankeschön lstegelitz.

            Ich hatte es fast richtig ^^

            Hatte am Anfang:
            urlencode(utf8_encode($str));

            Naja, jetz gehts
            rawurlencode(utf8_encode($str));

            Aja, mit dem () usw., funktioniert trotzdem (egal ob codiert oder nich)


            Edit:
            hängt von der verwendeten Zeichenkodierung ab
            Ja, jetzt wandel ich es -> richtig <- passend um ^^

            Kommentar

            Lädt...
            X