Ho tutto in UTF-8. Ciò include Content-Type, database, file, java, tutto (a meno che non mi sia sfuggito qualcosa).JBoss AS 7.1 - Codifica parametri richiesta
Seguo molte risposte StackOverflow, JIRA, blog ed ecc., Ma non riesce ancora.
Il problema in sé è la seguente:
Quando mi presento, supponiamo, a http://localhost:8080/app/searh?text=café
, il debug, il mio request.getParameter("text")
è sempre sbagliato, qualcosa come café
, e request.getCharachterEncoding()
mi dà null
(?).
Guardando le intestazioni di richiesta, ho ottenuto questo:
GET http://localhost:8080/app/search?text=caf%C3%A9 HTTP/1.1
Host: localhost:8080
Proxy-Connection: keep-alive
Cache-Control: max-age=0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17
Referer: http://localhost:8080/app/search?text=n%C3%A3o
Accept-Encoding: gzip,deflate,sdch
Accept-Language: pt-BR,pt;q=0.8,en-US;q=0.6,en;q=0.4
Accept-Charset: UTF-8,*;q=0.5
Cookie: JSESSIONID=OMMITED
e la risposta intestazioni:
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Pragma: No-cache
Cache-Control: no-cache
Expires: Wed, 31 Dec 1969 21:00:00 BRT
Content-Type: text/html;charset=UTF-8
Transfer-Encoding: chunked
Content-Encoding: gzip
Vary: Accept-Encoding
Date: Tue, 19 Mar 2013 14:06:24 GMT
Proxy-Connection: keep-alive
Connection: keep-alive
E 'tutto ciò UTF-8. Io proprio non capisco.
Ho cercato di passare -Dfile.encoding=UTF-8 -Dfile.io.encoding=UTF-8 -DjavaEncoding=UTF-8
nella mia variabile standalone.conf
JAVA_OPTS
, ha cercato di mettere
<property name="org.apache.catalina.connector.URI_ENCODING" value="UTF-8"/>
<property name="org.apache.catalina.connector.USE_BODY_ENCODING_FOR_QUERY_STRING" value="true"/>
nel mio standalone.xml
. Niente di ciò risolve il problema.
Cosa posso provare a fare per risolvere questo problema?
Grazie in anticipo.
BTW: JBoss AS 7.1.1.
Ciao, grazie per la risposta; La prima soluzione che ho già provato, non ha funzionato. L'uso del POST non ha senso nel mio caso, perché è una ricerca e voglio che gli utenti possano copiare l'URL. Ho anche provato la tua seconda soluzione e anche il bug persiste. Piuttosto raccapricciante ... Grazie – caarlos0
Ciao Caarlos, ho risposto a memoria, ma ero un po 'curioso del tuo problema, e ora ho preparato un esempio: ho riprodotto il tuo problema e finalmente l'ho fatto funzionare, e la soluzione funziona sia in Jboss 5.x che in 7. Il fatto è che le prime due soluzioni che ho dato sono davvero una soluzione unica, quindi per farlo funzionare devi definire le proprietà dei sistemi, e inoltre hai per decodificare il parametro. Ho modificato la risposta. – Toni
Grazie, considererò che = D – caarlos0