2007년 11월 23일
유니코드(UTF-8)에서 한글 Form전송 처리 버그인가?
희안한 사건(?)이 벌어졌다. 처음엔 HTML(or XHTML)의 버그인 줄 알았는데 그것도 아니었다.
유니코드로 작성한 html 파일에서 Form 전송 시 한글 값에 대해 홀수 수를 가진 글자는 이상하게 다음과 같이 전달된다.
[홀수 글자 수를 입력하여 전달할 경우]
전송할 폼 입력받는 파일(htm)

폼 전송을 받은 서버측 파일(asp)

[짝수 글자 수를 입력하여 전달할 경우]
여러 가지를 테스트 해본 결과 홀수 글자 수일 경우 자기 [값]에다가 바로 다음 form의 [name]과 [값]을 [name]=[값]형식의 string으로 가지고 와서 자기 [값]인양 붙여버린다.
그리고 다음 form 의 값은 홀수 글자가 아예 나타나지 않는다.
위의 경우 htm 소스는 다음과 같다.
<form name="join" id="join" method="post" action="test.asp">
<input type="text" name="name">
<input type="text" name="id">
<input type="submit" id="submitBtn" value="submit">
</form>
이런 현상은 UTF-8 로 작성한 htm 에서만 발생한다.
아직 UTF-8 이 한글지원이 완벽하지 않은 것일까?

유니코드로 작성한 html 파일에서 Form 전송 시 한글 값에 대해 홀수 수를 가진 글자는 이상하게 다음과 같이 전달된다.
[홀수 글자 수를 입력하여 전달할 경우]
전송할 폼 입력받는 파일(htm)
폼 전송을 받은 서버측 파일(asp)

[짝수 글자 수를 입력하여 전달할 경우]
여러 가지를 테스트 해본 결과 홀수 글자 수일 경우 자기 [값]에다가 바로 다음 form의 [name]과 [값]을 [name]=[값]형식의 string으로 가지고 와서 자기 [값]인양 붙여버린다.
그리고 다음 form 의 값은 홀수 글자가 아예 나타나지 않는다.
위의 경우 htm 소스는 다음과 같다.
<form name="join" id="join" method="post" action="test.asp">
<input type="text" name="name">
<input type="text" name="id">
<input type="submit" id="submitBtn" value="submit">
</form>
이런 현상은 UTF-8 로 작성한 htm 에서만 발생한다.
아직 UTF-8 이 한글지원이 완벽하지 않은 것일까?
이 글과 관련있는 글을 자동검색한 결과입니다 [?]
- 2003 서버용 ASP 웹쉘 by 헐랭이
- XMLHttpRequest를 사용할 때 한글 파라미터의 인코딩 처리 방법 by beizix
- IRiS nX의 보안 문제 안내 by nvu
- 소니 플레이스테이션 사이트 해킹 주의 (긴급) by 헐랭이
- [ XBOX360 ] 컬드셉트 사가 - 간지 작살!? by 펠로메이지
# by | 2007/11/23 11:51 | web개발 보따리 | 트랙백 | 덧글(1)





☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
자바스크립트로 인코딩도 시도해봤지만 잘 안됐는데,
그냥 보내는 페이지와 받는 페이지에 아래의 한줄만 추가하니까 한글 전송이 잘 되네요.
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">