2011-04-21 1 views
2

웹 응용 프로그램 servlet/jsp에서 Java로 작업하며 오늘 문제가 있습니다.
양식의 유효성을 검사 한 후 입력 필드 값을 매개 변수 (GET). javax.net.URLEncoder.encode (String, "UTF-8") 메서드를 사용하는데주의를 기울 였지만이 설정이 악센트로 구성되어 있으면 두 번째 서블릿에서 얻은 값의 인코딩이 올바르지 않습니다.
그러나 나는 방법 날이 캐릭터 세트의 문제를 해결하는 데 도움이 될 수 있습니다 URLDecoder.decode ((String) request.getParameter ("id"), "UTF-8")URL의 악센트, request.getParameter 잘못된 값

Ex: 
id = éssai ==> http://127.0.0.1:8080/LdapJavaNet/groupe?action=consulter&id=%C3%A9ssai 

print (URLDecoder.decode ((String) request.getParameter ("id"), "UTF-8")) ==> éssai 

누구를 사용할 수 있습니까?

답변

4

getParameter()은 디코딩 된 값을 반환하므로 decode()에 전화 할 필요가 없습니다.

getParameter()이 사용하는 인코딩 구성은 서블릿 컨테이너에 따라 다릅니다. 예를 들어 Tomcat에서는 URIEncoding attribute을 사용하여 구성 할 수 있습니다.

+0

감사합니다. 어디에서이 속성을 구성 할 수 있습니까? 내 서블릿에서이 작업을 수행 할 수 있습니까? (내 응용 프로그램은 먼 서버에서 실행되기 때문에) – FAjir

+0

안녕하세요, 팁 주셔서 감사하지만 내 인코딩 문제를 해결하지 못합니다. 주소 표시 줄에 악센트를 입력하려고 시도했습니다. 그래서 ** URLEncoder.encode() 메서드를 제거한 것만으로도 문제를 해결했습니다 ** :) 희망이 있으면 도움이 될 것입니다. – FAjir