2014-11-23 4 views
0

URLEncoder.encode (String, "UTF-8")를 사용한 후 페이지 URL은 "//host:port/abc/testr-email.html?ans1=NÃO&ans2=NÃO&ans3=NÃO&ans4=SIM&ans5=NÃO&cntr=1&ts=5&pname=TAAA" 입니다. 페이지 경로의은 이스케이프/인코딩 된 특수 문자로 다음과 같이 나타납니다.BufferReader 처리 후 URL 인코딩 된 기능을 다시 가져와 특수 문자를 디코딩하고 표시 하시겠습니까?

pagepath = "//host:port/abc/testr-email.html?ans1=N%C3%83O&ans2=N%C3%83O&ans3=N%C3%83O&ans4=SIM&ans5=N%C3%83O&counter=1&totalquestions=5&participantname=TAAA" 

아래 내가 다시 디코딩하고 얻을 수있는 bufferreader 과정 이후의 인코딩 기능을 상실하고있다 "나오"와 같은 일부 특수 문자 값을 갖는되는 페이지의 내용을 읽을하려고 내 코드입니다 값은 보낸 사람에게 이메일 본문입니다.

코드 조각 :

과의 BufferedReader 후 콘텐츠 디코딩 및 이메일로를 이용할 수 있도록 특수 문자를 다시 변환하는 urlencoded로 기능을 잃었다.

String tempstring = StringEscapeUtils.unescapeHtml4(content.toString()); 
       email.setHtmlMsg(tempstring); 

나는 email.setHtmlMsg (...)을 관찰하고 있습니다. 내 "NÃO"특수 문자가 없으며 문자를 "N % C3 % 83O"으로 이스케이프 처리했습니다.
특수 문자를 가져 와서 전자 메일 보내기 기능으로 HTML 메시지 본문으로 보내는 방법. ?

답변

0

URLDecoder에는 인코딩 된 문자열의 특수 문자를 사용하십시오. 아래 진술을 시도하십시오.

URLDecoder.decode("N%C3%83O", "UTF-8")