프로그램/Web

escape와 unescape

잡식성초보 2014. 12. 24. 14:21

이걸로 오늘 왠종일 고생했다.

인코딩 디코딩도 잘 몰라서 해매긴 했지만...jsp단에서 값을 escape(encodeURIComponent(값))으로 넘겨주는건데 왜 java쪽에서 decoding이 안되는지 씩씩되며 했는지...

문제는 이것이 디코딩이 문제가 아니라 escape암호화?때문이엇음..

이문제를 해결 할려면 자바단에서

param.setAppNm(CommonUtil.unescape(URLDecoder.decode(param.getAppNm(), "UTF-8")));

코딩후에 밑에 부분을 따로 만들어 주는게 좋을듯

public static String unescape(String src) {

StringBuffer tmp = new StringBuffer();

tmp.ensureCapacity(src.length());

int lastPos = 0, pos = 0;

char ch;

while (lastPos < src.length()) {

pos = src.indexOf("%", lastPos);

if (pos == lastPos) {

if (src.charAt(pos + 1) == 'u') {

ch = (char) Integer.parseInt(src

.substring(pos + 2, pos + 6), 16);

tmp.append(ch);

lastPos = pos + 6;

} else {

ch = (char) Integer.parseInt(src

.substring(pos + 1, pos + 3), 16);

tmp.append(ch);

lastPos = pos + 3;

}

} else {

if (pos == -1) {

tmp.append(src.substring(lastPos));

lastPos = src.length();

} else {

tmp.append(src.substring(lastPos, pos));

lastPos = pos;

}

}

}

return tmp.toString();

}

이 소스를 넣으면 되는것 같다...왕초보 개발자는 오늘도 힘듬.ㅠ

반응형

'프로그램 > Web' 카테고리의 다른 글

자바 소수점 자르기  (0) 2015.01.22
checkbox 값을 java로 넘기는거에 관련된 이야기...  (1) 2015.01.06
Jfreechart 서버사용  (0) 2014.12.10
Only a type can be imported 에러  (0) 2014.12.09
톰캣 already closed 에러  (0) 2014.12.05