Ho ricevuto una richiesta da un cliente che vuole essere in grado di digitare la stringa di query del mio servizio web con parametri nella barra degli indirizzi di IE10 e ottenere i risultati del servizio. I parametri includono stringa in ebraico, come:codifica dei parametri della stringa di query in IE10
http://mywebsite.com/service.asmx/foo?param1=123¶m2=מחרוזתבעברית
Sembra a me che che IE10, a differenza di altri (normali) i browser, non sarà codificare i parametri di stringa di query - ogni personaggio non ANSI che va dopo il? il segno verrebbe trasformato in byte '3f', sebbene codifichi ciò che precede il? mark - l'url stesso.
Per esempio, se provo per raggiungere l'url (il parametro è immaginario, URL non è, e non ho alcun collegamento con il sito)
http://www.shlomo.co.il/pageshe/sales/רכב-למכירה.asp?param=פאראם
e guardare nel wireshark per i byte che invio a il server, mostra mi
è possibile vedere lo fa sostituire la parte ebraica della URL con la stringa urlencoded, ma sostituisce i parametri ebraico con ?????, che sono '3f di.
La stessa stringa in cromo verrebbe codificato nella sua interezza:
GET http://www.shlomo.co.il/pageshe/sales/%D7%A8%D7%9B%D7%91-%D7%9C%D7%9E%D7%9B%D7%99%D7%A8%D7%94.asp?param=%D7%A4%D7%90%D7%A8%D7%90%D7%9D HTTP/1.1
ho provato su macchine con win7/IE10 e winXPheb/IE8.
impostazionimio IE sono (in particolare controllate l'opzione "indirizzi mostrano sempre codificati" per vedere se aiuta e riavviato, ma fatto alcuna differenza):
ho provato a cercare in giro per qualsiasi info riguardo al problema, ma non ne ha trovato molto.
Le mie domande sono:
- E 'davvero così, o mi sto perdendo qualcosa?
- Questo comportamento è documentato ovunque?
- Ci sono delle impostazioni in IE/Win che abilitano la codifica dei parametri.
p.s. Certo, se stavo sviluppando il client/web ui, avrei semplicemente urlencodato la mia query, ma la mia richiesta da parte del cliente era esattamente quella di incollare la query sulla barra degli indirizzi di IE, ecco perché sono interessato a questo comportamento specifico.
Grazie.
curato la questione di conseguenza. Ci ho messo il tempo di riavviare, altrimenti segnerei la tua risposta prima :) – alex440
Grande domanda e risposta qui, anche se ho provato Browser IE 10 di Stack e il controllo "Invia URL UTF-8" è apparso per risolvere il problema. Vuoi sapere se fa la cosa giusta adesso? –