RunTurtle

accept-charset="UTF-8" 본문

개발중 오류 정리

accept-charset="UTF-8"

RunTurtle 2023. 12. 30. 20:56

jsp project 게시판 부분을 개발하다가 난관에 봉착을 했다.

글에 내용을 넣고 글 생성을 하면
DB( OracleDB 사용 )에 영어는 이상이 없는데 한글이 다 깨져서 들어가는 것이다.

 

데이터가 넘어가는 부분에 이상이 있나 싶어 그 부분을 서치 해보고 고쳐본 결과

<form> 태그 부분에서 post방식으로 데이터를 넘겨줄때 accept-charset속성을 이용해서 데이터를 인코딩한 후 넘겨줄 수 있다는 것이다.

 

accept-charset을 알아보겠다. accept-charset이란 HTML <form> 태그에 있는 속성중 하나인데,

폼 데이터(form data)를 서버로 보낼 때 사용되는 문자 인코딩(character encoding) 방식을 명시한다.

 

gpt한테도 물어보았다.

> accept-charset="UTF-8"은 HTML 폼에서 데이터를 제출할 때 사용하는 인코딩 방식을 지정하는 속성입니다. 여기서 "UTF-8"은 일반적으로 사용되는 문자 인코딩 방식 중 하나로, 전 세계의 모든 문자를 포함하고 있어 다양한 언어의 문자를 처리할 수 있습니다.

HTML에서 폼(form) 데이터를 서버로 제출하면, 웹 브라우저는 이 데이터를 일련의 이름-값 쌍으로 인코딩합니다. 이 인코딩은 기본적으로 ASCII 문자만을 사용하므로, ASCII 범위를 벗어나는 문자(예: 한글, 중국어, 아랍어 등)는 제대로 인코딩 되지 않을 수 있습니다. 그래서 accept-charset="UTF-8"과 같은 속성을 지정하여 어떤 인코딩 방식을 사용할지 명시적으로 알려줄 필요가 있습니다.

다른 부분 db html server.xml 쪽 다 건드리고 마지막으로 accept-charset을 알게되어 한글 깨지는 오류를 잡았다.

<form name="writeForm" action="BoardWriteProc.jsp" method="post" onsubmit="return validateForm()" accept-charset="UTF-8">