Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 옥길파티룸
- 옥길요거트
- 부천공간대여
- 스컬킹
- 존경하는위인
- 개발자
- 옥길동요거트
- 그릭요거트
- 서울파티룸
- 스컬킹점수
- mysql
- 가장존경하는인물
- 웹개발
- 코딩
- 일
- 스페이스우일
- 광명파티룸
- 취미
- 보드게임점수계산
- 착한코딩
- 파티룸
- 구로파티룸
- 부천파티룸
- MBTI
- 해외여행
- 옥길동파티룸
- 스컬킹점수계산
- 옥길그릭요거트
- 휴식
- 보드게임점수
Archives
- Today
- Total
SIMPLE & UNIQUE
Get으로 Url보낼때 한글 깨짐 본문
URIEncoding
- HTTP body의 입력 데이터는 기본으로 UTF-8로 디코딩된다.
- 반면 URL은 ISO-8859-1으로 디코딩한다.(한글이 깨지는 이유)
- 브라우저에서 Form 데이터를 기본설정으로 UTF-8 인코딩하므로
- Form으로 전송되는 데이터는 한글이 깨지지 않는다.
1. Jsp나 js에서 get으로 [url?name="한글"]을 보냈는데, Controller에서 한글이 깨진다.
get을 하기 전에 encodeURIComponent(name)을 해주고,
Controller에서 new String("name".getBytes(8859_1"), "UTF-8")을 해준다.
=> 하지만 이 경우 다른 jsp파일에서 post로 동일한 Controller의 같은 변수를 사용할때, 한글이 깨진다.
(데이터를 UTF-8로 받아왔는데 다시 디코딩을 하기 때문에)해결방법 - Controller에서 post일 경우 get일경우 구분해서 디코딩을 적용할 수 도 있지만
server.xml의 Connector에 URIEncoding="UTF-8"을 추가하는 것이 더 깔끔하다.
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8"/>
'Java & Spring > Solution' 카테고리의 다른 글
Java Filter로 XSS 처리 (1) | 2017.08.03 |
---|---|
네이티브 앱에서 모바일웹 진입시 백화현상 (0) | 2017.08.03 |
JSON 데이터 삽입 방식 (0) | 2017.03.27 |
IE에서 ajax를 post로 전송시 .empty() .html() 이벤트가 1번만 실행되는 경우 (0) | 2017.03.24 |
Comments