Java
GET 한글깨짐 방지
skydev
2019. 6. 27. 14:35
public void setSearchWord(String searchWord) throws UnsupportedEncodingException {
if (StringUtil.isEmpty(searchWord) == false && URLEncoder.encode(URLDecoder.decode(searchWord, "UTF-8"), "UTF-8").equals(searchWord) ) {
this.searchWord = URLDecoder.decode(searchWord, "UTF-8");
} else {
this.searchWord = searchWord;
}
}
문제상황
1. Front단에서 ajax GET 방식으로 보낼때 $.param(params, true)로 처리
2. 인코딩 되었는지 판단하지 않고 디코딩하면 전화번호 같은 숫자도 %ED%82%A4 형식으로 처리된다.
js encodeURIComponent vs encodeURI
encodeURI 는 URI 전체 인코딩 할때
URI 의 파라미터 인코딩 할때는 encodeURIComponent
참조:http://blog.kazikai.net/?p=194