thomas: urldecode + Umlaute

Hallo

in PHP kodiere ich einen String damit ich ihn an eine JS-Funktion übergeben kann. Der String sieht z.B. so aus "Wildgerichte+im+Schilf". Nun möchte ich diesen String in einem Formularfeld mittels JS ausgeben. Wie kann ich in dekodieren?

Mein Code gibt immer "+Wildgerichte+im..." aus.

  
  
function selectTicketOld(tid,subject)  
	{  
  
	document.tickets.TID.value = tid;  
	subject = decodeURI(escape(subject));  
	document.tickets.ls_selected_info.value = "Ticket: "+subject+" ausgewählt";  
	}  

Danke für eure Hilfe.
Gruss
Thomas

  1. Hi,

    in PHP kodiere ich einen String damit ich ihn an eine JS-Funktion übergeben kann. Der String sieht z.B. so aus "Wildgerichte+im+Schilf". Nun möchte ich diesen String in einem Formularfeld mittels JS ausgeben. Wie kann ich in dekodieren?

    Indem Du in Javascript die zur Codierung passende Decodierung benutzt.
    Da Du nicht schreibst, wie Du codierst, kann Dir auch keiner sagen, wie Du das decodieren mußt.

    Aus Deinem Beispiel kann man höchstens erraten, daß vermutlich Leerzeichen in Pluszeichen umgewandelt werden.
    Aber vielleicht lautet der uncodierte String ja auch "Karl_Moik_im_Musikantenstadl". Dann wäre meine Vermutung falsch.

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    O o ostern ...
    Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.
    1. Hallo

      Indem Du in Javascript die zur Codierung passende Decodierung benutzt.
      Da Du nicht schreibst, wie Du codierst, kann Dir auch keiner sagen, wie Du das decodieren mußt.

      Ich decodiere so $sub_info = urlencode($subject);

      Hilf dir das weiter?

      gruss
      thomas

      1. Tach,

        Ich decodiere so $sub_info = urlencode($subject);

        du kodierst

        Hilf dir das weiter?

        Hilfreich wäre noch zu wissen, warum du sie kodierst, als ob du sie in einem URI-Kontext nutzen wolltest, obwohl du sie in einem Javascript-Kontext nutzen willst, ansonsten kann auch Javascript mit URIs umgehen.

        mfg
        Woodfighter

        1. hoi

          Hilfreich wäre noch zu wissen, warum du sie kodierst, als ob du sie in einem URI-Kontext nutzen wolltest, obwohl du sie in einem Javascript-Kontext nutzen willst, ansonsten kann auch Javascript mit URIs umgehen.

          Den entsprechenden String gebe ich über ein JS-Aufruf mittels A-Href an eine Funktion:

            
          $sub_info = urlencode($subject);  
          ...  
          <a href='#' onclick="selectTicketOld($t_id,'$sub_info')">$subject</a>
          

          Ich muss da so decodieren weil sonst läuft die JS Funktion nicht. Gibt es da evtl. eine andere Lösung?

          Merci + Gruss
          Thomas

          1. <a href='#' onclick="selectTicketOld($t_id,'$sub_info')">$subject</a>[/code]

            Ich muss da so decodieren weil sonst läuft die JS Funktion nicht. Gibt es da evtl. eine andere Lösung?

            an der Stelle musst du nicht URL-kodieren, wenn die Funktion nicht läuft, hängt das an etwas anderem.

            Struppi.

          2. Hi,

            <a href='#'

            warum verlinkst Du auf einen Anker innerhalb der Seite, den Du nicht mal mit einem Namen versiehst?

            onclick="selectTicketOld($t_id,'$sub_info')">$subject</a>
            Ich muss da so decodieren weil sonst läuft die JS Funktion nicht.

            Vielleicht musst Du es dekodieren, aber Du musst es nicht URL-kodieren. Event-Handler(-Attribute) sind kein URL-Kontext, also ist eine URL-Kodierung völlige Willkür. Ebenso gut könntest Du Base-64-kodieren.

            Cheatah

            --
            X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
            X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
            X-Will-Answer-Email: No
            X-Please-Search-Archive-First: Absolutely Yes
  2. hi,

    Mein Code gibt immer "+Wildgerichte+im..." aus.

    Wo gibt es denn das Problem mit den Umlauten? Btw., willst Du nur eine Zeichenkette codieren/decodieren (für was auch immer) oder auch strukturieren, z.B. in SChlüssel-Werte-Paare?

    Hotti