반응형
공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!! 포스팅 내용이 찾아주신 분들께 도움이 되길 바라며 더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^
|
Volley 로 회원가입 JsonObjectRequest 를보내고
Spring으로 부터 JSONObject를 Response로 받는 예제를 돌려보던 중
스프링에서 System.out.println()으로 찍어봤을 때는 한글이 잘 나오는데
안드로이드에서 받은 값을 Log에 찍어보니
한글이 물음표 ???로 나오는 문제를 발견했습니다.
그래서 거의 하루 종일 구글링을 했었는데요.
몇몇 글에서 Volley는 한글을 지원하지 않는다고 해서 Volley 문제인지 알고
Volley + ??? 를 합한 검색만 하다 보니 잘 안 나왔습니다.
근데!!! 문제는 Volley가 아니었습니다...
Volley에서는 한글을 지원합니다.
왜 안된다는 글이 많은 건지는 모르겠지만;;;
해결 방법은 정말 정말 간단했습니다.
제가 스프링에서 값을 받아 아래와 같이 반환을 해주었는데요.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | @RequestMapping(value = "/login", method = RequestMethod.POST) public String login(HttpServletRequest request) { commonMethod = new CommonMethod(); JSONObject response = commonMethod.stringParseToJSON(request); JSONObject users = new JSONObject(); try { request.setCharacterEncoding("UTF8"); String email = response.get("email").toString(); String password = response.get("password").toString(); UserDao userDao = sqlSession.getMapper(UserDao.class); User user = userDao.loginDao(email); String hashed = user.getPassword(); if (hashed == null) users.put("email", user.getEmail()); else { boolean isSame = BCrypt.checkpw(password, hashed); if (isSame) { users.put("email", user.getEmail()); users.put("nickname", user.getNickname()); users.put("birth", user.getBirth()); users.put("phone", user.getPhone()); users.put("gender", user.getGender()); users.put("profile_url", user.getProfile_url()); users.put("join_date", String.valueOf(user.getJoin_date())); } else users.put("email", user.getEmail()); } } catch (Exception e) { } return users.toJSONString(); } | cs |
@RequestMapping에 인자를 하나만 더 넣어주면 깔끔하게
한글을 잘 보냅니다.
1 | @RequestMapping(value = "/login", method = RequestMethod.POST) | cs |
이거에서
1 | @RequestMapping(value = "/login", method = RequestMethod.POST, produces = "text/plain;charset=UTF-8") | cs |
이걸로
produces = "text/plain;charset=UTF-8"
을 추가 해주시면 됩니다.
역시 모를 땐 한 없이 답답하지만 알고나면 너무 간단하네요 ㅋㅋㅋ
이상
안드로이드 Volley Http 스프링과 통신할 때
한글 물음표로 ??? 로 올 때 해결방법에 대해 알아보았습니다.
감사합니다.
반응형
'안드로이드' 카테고리의 다른 글
안드로이드 ImageUrl을 Drawable로 변환 + Android Convert from Bitmap to Drawable (0) | 2018.04.10 |
---|---|
안드로이드 스튜디오에서 sha-1 값 확인하는 방법 (0) | 2018.04.09 |
안드로이드 프래그먼트에 외부폰트 적용하기 set custom font for Android Fragment (0) | 2018.04.06 |
안드로이드 코틀린으로 Volley 라이브러리 사용방법! (0) | 2018.04.05 |
안드로이드 코틀린으로 개발 시 "Unresolved reference:java" 해결방법! (1) | 2018.04.03 |