2015-01-15 16 views
0

인코딩 방식으로 자바 스크립트에서 인코딩을 사용하고 있습니다 (예 : UTF-8 인코딩). =, + 등의 문자를 포함 할 수있는 변수를 인코딩합니다. 내가 디코딩 한 서블릿에 POST.Java에서 JS 인코딩 된 일본어 문자의 URL 디코딩 6

이 영어 잘 작동하지만 일본어 문자열을 사용하는 경우 - "バ ス ケ ッ ト"이이 같은 일부 특수 문자 시퀀스로 변환 - "à £ AAA £ ﹊£ AA ± à £ AAA £ AA"

I 다음 자바 1.6 코드를 사용하여 디코드하지만 작동하지 않습니다. -

String ID = java.net.URLDecoder.decode(assignedID,"UTF-8"); 

여기서 assignedID는 특수 문자 시퀀스를 포함합니다. 위의 코드는 나를 반환합니다 - "Ã £ ÂÂÃ £ ÂÂ £ ÂÂ £ Â £ ÂÂ £ £"

+0

'java.net.URLDecoder.decode ("% E3의 % 83 % 90 % E3 % 82 % B9의 %의 E3의 % 82 % B1의 %를 E3 % 83 % 83 % E3 % 83 % 88 ","UTF-8 ");은 나를 위해 일합니다. 어쩌면 당신의'assignedId'가 올바른 가치를 얻지 못했을까요? – cshu

+0

@Griddoor 일본 문자가 % E3 % B3과 같은 것보다는 그 쓰레기 순서로 바뀌는 것을 볼 수 있듯이 의심 스럽습니다. 그러나이 가정에 대해 잘못된 것이 아니라면 encodeURIComponent는 UTF-8 인코딩을한다고 생각합니다. 아니면 여기에 일본어 문자가 잘 작동하지 않는다면? –

답변

0

귀하의 게시물에 URL의 일부로 또는 POST의 일부로 보내는 문자열이 전송되고 있습니까 신체. POST 본체의 대부분은 부분 (JSP로) 추가 시도 :

<% request.setCharacterEncoding("UTF-8"); %> 
+0

POST 본체의 일부입니다. 추상 레이어에서 작업 할 때 문자 인코딩을 명시 적으로 설정할 수 있어야합니다. UTF-8 인코딩을하고 있지 않다고 생각하십니까? 자바 스크립트에서 encodeURIComponent 함수가 UTF-8 인코딩을 사용하도록되어 있지 않습니까? –

+0

보통 'UTF-8'인코딩이어야합니다. –