겉바속촉

서버에서 한글 전달 못 받는 경우 본문

IT 일기 (상반기)/JAVA

서버에서 한글 전달 못 받는 경우

겉바속촉 2022. 6. 8. 17:59
728x90
반응형

 

post 메서드를 공부하는 와중에 생긴 에러

바로 한글을 입력하면 깨지는 것

 

분명히 get메서드일때는 발생하지 않았기 때문에 이유를 몰랐습니당:)

 

2022.06.08 - [IT 일기 (상반기)/JAVA] - 입력폼에 쓸게 많다면...? Post

 

입력폼에 쓸게 많다면...? Post

사실 입력폼의 원리는 간단했음 2022.06.08 - [IT 일기 (상반기)/JAVA] - 입력폼의 원리 입력폼의 원리 이제는 url의 쿼리 옵션으로 리퀘스트를 설정하는 것이 아닌 입력폼을 활용하여 리퀘스트를 보내

2-juhyun-2.tistory.com

 

 

하지만 출력할때의 오류가 아닌 이유는

서블릿을 구동하는 자바 파일에서 분명하게 잡아주었기 때문에

입력할때의 오류라는 사실이 중요!!!!!!

 

아래 체크해준 부분!!

 

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