lina-: URL-Encoding

moin Forum:)

ich habe ein kleines Problem mit URL-Encoding...

einem IFrame möchte ich per iframe.src=file eine URI übergen.
Die variable file sieht folgendermaßen aus: "Kopie+von Test.pdf" (wichtig: ein + und ein Space)

Ich habe bereits gelesen, dass das + wie ein Space behandelt wird (was die Fehlermeldung "file 'Kopie von Test.pdf' not found" gut erklärt.)

Also habe ich versucht, das + explizit zu encoden mit
file=file.replace(/+/g,"%2B");

die Variable schaut auch richtig aus - aber wenn ich sie iframe.src übergebe wird daraus wieder die URI der Fehlermeldung.

Sieht jemand meinen Fehler oder hat Ideen, wie man das + austricksen kann?

liebe Grüße aus Berlin
lina-

--
Self-Code: ie:% fl:( br:^ va:) ls:/ fo:| rl:( ss:) de:] js:| mo:)
  1. Ich habe bereits gelesen, dass das + wie ein Space behandelt wird (was die Fehlermeldung "file 'Kopie von Test.pdf' not found" gut erklärt.)

    Also habe ich versucht, das + explizit zu encoden mit
    file=file.replace(/+/g,"%2B");

    Hier sind ein paar Funktionen zur Auswahl:
    http://de.selfhtml.org/javascript/objekte/unabhaengig.htm

    Struppi.

    1. moin Struppi :)

      Hier sind ein paar Funktionen zur Auswahl:
      http://de.selfhtml.org/javascript/objekte/unabhaengig.htm

      Danke, aber natürlich habe ich die vorher ausprobiert, bevor ich fragte ;)

      dabei war encodeURI noch am vielversprechensten - leider konnte es mit Umlauten nicht umgehen.
      Eine andere URI in meinem Test lautet "Kopie+von Jürgen.pdf" Daraus wurde dann mit encodeURI "Kopie+von Jürgen.pdf" :(

      liebe Grüße aus Berlin
      lina-

      --
      Self-Code: ie:% fl:( br:^ va:) ls:/ fo:| rl:( ss:) de:] js:| mo:)
      1. Hier sind ein paar Funktionen zur Auswahl:
        http://de.selfhtml.org/javascript/objekte/unabhaengig.htm
        Danke, aber natürlich habe ich die vorher ausprobiert, bevor ich fragte ;)

        dabei war encodeURI noch am vielversprechensten - leider konnte es mit Umlauten nicht umgehen.
        Eine andere URI in meinem Test lautet "Kopie+von Jürgen.pdf" Daraus wurde dann mit encodeURI "Kopie+von Jürgen.pdf" :(

        Bei mir nicht.

        javascript:var t = "Kopie+von Jürgen.pdf" ; alert(encodeURI(t));

        Struppi.

        1. moin Struppi :)

          Eine andere URI in meinem Test lautet "Kopie+von Jürgen.pdf" Daraus wurde dann mit encodeURI "Kopie+von Jürgen.pdf" :(

          Bei mir nicht.

          javascript:var t = "Kopie+von Jürgen.pdf" ; alert(encodeURI(t));

          hmm.. bei mir schon - selbst die umbenannte datei "Jürgen.pdf" bringt nur diesen Murks: "Jürgen.pdf"

          habe gerade von Kollegen erfahren, dass die Variablen (die ich ja auch nur von einem Java-Bean hole...) vorher encodet wurden ... höchstwahrscheinlich mit ISO-8859-1 (genaueres weiss ich darüber leider auch nicht)

          Könnte das damit was zu tun haben?

          liebe Grüße aus Berlin
          lina-

          --
          Self-Code: ie:% fl:( br:^ va:) ls:/ fo:| rl:( ss:) de:] js:| mo:)
          1. habe gerade von Kollegen erfahren, dass die Variablen (die ich ja auch nur von einem Java-Bean hole...) vorher encodet wurden ... höchstwahrscheinlich mit ISO-8859-1 (genaueres weiss ich darüber leider auch nicht)

            Könnte das damit was zu tun haben?

            Ja, was zeigt der Browser an, wenn du den Text ohne encode ausgibst?

            Struppi.

            1. moin Struppi :)

              Ja, was zeigt der Browser an, wenn du den Text ohne encode ausgibst?

              dann sind an der Stelle der Leerzeichen Fragezeichen - also z.B. "J?rgen.pdf"

              liebe Grüße aus Berlin
              lina-

              --
              Self-Code: ie:% fl:( br:^ va:) ls:/ fo:| rl:( ss:) de:] js:| mo:)
              1. Ja, was zeigt der Browser an, wenn du den Text ohne encode ausgibst?
                dann sind an der Stelle der Leerzeichen Fragezeichen - also z.B. "J?rgen.pdf"

                Dann stimmt was mit dem Zeichensatz nicht.

                Struppi.

                1. moin Struppi :)

                  Dann stimmt was mit dem Zeichensatz nicht.

                  im Browser? Da hab ich natürlich nich nachgesehen... werd ich morgen früh gleich mal machen ;)
                  Danke!

                  liebe Grüße aus Berlin
                  lina-

                  --
                  Self-Code: ie:% fl:( br:^ va:) ls:/ fo:| rl:( ss:) de:] js:| mo:)