2014-09-12 30 views
6

ho bisogno di passare alcuni parametri nella URL e possono avere caratteri speciali come", n spagnolo o ñ,:. Spazi e accenticodificare i caratteri speciali a passare in url e letto da JavaScript

Qual è la propper ? modo per codificare loro prima di aggiungere alla URL o nel caso in cui ho ottenuto nel codice HTML del genere, leggerli

ho provato questo:

arrayData[i] = pair[1].replace('+', " ").replace('%22', "\""); 

Ma solo ottenere lavorando con + o spazi, non entrambi allo stesso tempo o in 2 righe:

arrayData[i] = pair[1].replace('+', " "); 
    arrayData[i] = pair[i].replace('%22', "\""); 
+0

non esattamente un duplicato, vale a dire solo per la codifica di caratteri non alfabetici, che è il caso comune. Qui, ha bisogno di codificare caratteri alfabetici ma non-inglese/non standard. – mechalynx

+0

Sì, mi dispiace, prurito dito-grilletto. – Andy

risposta

6

Si può provare la funzione incorporata encodeURI, ad esempio

encodeURI('coño funcionó!') 
+0

Questo. Ma fai attenzione a leggere su [encodeURI] (https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/encodeURI) e suo fratello, [encodeURIComponent] (https: // developer. mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent) prima di utilizzare entrambi. – mechalynx

+0

Dove devo metterlo? Voglio avere l'html in un'app per Android e iOS. Quindi dovrei codificare i parametri prima di aggiungerli, no? – Biribu

+0

È più facile ottenere tutto l'url con i parametri e quindi codificarlo prima di inviarlo. – Balder

1

risposta precedente è corretta. JavaScript ha incorporato funzioni per svolgere questo tipo di attività.

È possibile provare a indagare su queste funzioni in w3schools.com. Ecco i link con le informazioni di base e vivere "Try it out" caratteristica:

  • encodeURI - prende stringa con i tuoi personaggi e lo decodifica in plausibile per lo stile url (spazi codifica e caratteri non ANSII)
  • decodeURI - prende la stringa codificata e la decodifica allo stato iniziale