2011-08-05 2 views
2

Tomcat에서 사용하는 인코딩 체계를 프로그래밍 방식으로 가져 와서 GET 매개 변수를 디코딩 할 수 있습니까?Java를 사용하여 서버의 인코딩 받기

Tomcat이 특정 인코딩을 사용하도록 할 수는 있지만 Tomcat 설정을 제어 할 수없는 경우를위한 것입니다. 내가 직접 쿼리 문자열을 구문 분석하거나, Tomcat에서 디코드 한 값을 사용하여 값을 다시 인코딩하려고 시도한 다음 올바른 문자열을 얻기 위해 UTF-8로 디코딩하여 올바른 인코딩을 얻으려고합니다.

답변

1

http://www.w3schools.com/tags/ref_urlencode.asp에서 URL 인코딩은 ASCII이며 특수 문자 규칙을 쉽게 되돌릴 수 있습니다. GET의 매개 변수는 URL로 인코딩됩니다.

GET 자체의 가치에 대해 이야기하고 있다면 Java 서블릿에서 문자열을 얻을 것이므로 질문은 실제로 의미가 없거나 (당신을 오해하는 것입니다.) 매개 변수가 이미 디코딩됩니다. 인코딩에 대해 걱정할 필요가 없습니다.

+0

내가 직접 구문 분석 할 수 있음을 알고 있습니다. 나는 그것이 "자동적으로"행해질 수 있는지 오히려 볼 것입니다. 문제는 UTF-8 대신 ISO-8859-1을 사용하고 서버에서 UTF-8 디코딩을 시행하기 위해 서버 설정을 제어하지 않았기 때문에 디코딩 된 값이 잘못되었다는 점에 있습니다. – lkod

0

언제든지 getCharacterEncoding을 시도해 볼 수 있습니다. 하나의 보증이 있습니다. URIEncoding 속성이 server.xml에서 변경되지 않은 경우 항상 ISO-8859-1을 사용할 수 있습니다. getParameter으로 문자열을 가져온 경우 원시 바이트를 검색하고 UTF-8 인코딩을 사용하여 새 문자열을 구성하십시오. URL은 항상 UTF-8 텍스트로 이스케이프됩니다.

관련 문제