겉바속촉
서버에서 한글 전달 못 받는 경우 본문
728x90
반응형
post 메서드를 공부하는 와중에 생긴 에러
바로 한글을 입력하면 깨지는 것
분명히 get메서드일때는 발생하지 않았기 때문에 이유를 몰랐습니당:)
2022.06.08 - [IT 일기 (상반기)/JAVA] - 입력폼에 쓸게 많다면...? Post
하지만 출력할때의 오류가 아닌 이유는
서블릿을 구동하는 자바 파일에서 분명하게 잡아주었기 때문에
입력할때의 오류라는 사실이 중요!!!!!!
아래 체크해준 부분!!
utf-8은 멀티바이트 형태인데
한글이나 중국어 일본어 등등 기본적으로 영문자 위에 얹어진 확장된 숫자
문자 하나당 2바이트
영문자는 하나당 1바이트
그래서 인코딩되어 전달되면 2바이트가 한문자로 전달되는 것
그럼 서버에서는 ISO-8859-1방식으로 읽어서 두개를 한글자로 봐야하는 데 그렇게 하지 않고
쪼개서 인식함
방법1> 톰캣 서버 설정을 바꿈
URIEncoding="UTF-8"
방법2> 서블릿 설정 자바 파일 바꿈
입력받기 전에 인코딩 추가
req.setCharacterEncoding("UTF-8");
오호 다음과 같이 제대로 나옵니다
728x90
반응형
'IT 일기 (상반기) > JAVA' 카테고리의 다른 글
서블릿 필터 2 - annotation 사용 (0) | 2022.06.09 |
---|---|
서블릿 필터 1 - web.xml 사용 (0) | 2022.06.09 |
입력폼에 쓸게 많다면...? Post (0) | 2022.06.08 |
Eclipse 기본 형식 설정 (0) | 2022.06.08 |
입력폼의 원리 (0) | 2022.06.08 |