이번에 신규 사이트 작업 하면서 처음으로 utf-8 포멧으로 작업을 했는데

한글 깨지는 문제가 발생했다.

처음에는 소스파일포멧만 utf-8로 하면 될거라 생각했지만

form 전송과 DB연동되는 부분은 여지없이 한글이 깨지고 말았다.

특히 form enctype="multipart/form-data" 일때 파일포멧에 상관없이 한글이 깨졌다.


우선 파일포멧을 utf-8로 저장하고 포멧을 선언해주는 소스를 찾아서 넣었다.

 <%@ codepage="65001" language="VBScript" %>
<%
Response.charset = "utf-8"
Response.ContentType="text/html"
Session.CodePage=65001
%>

위의 소스는 모든 소스의 최상단에 위치 해야한다. 안그럼 오류가 발생하기 때문에...

이걸로 asp 작업에서 한글이 깨지는 일은 없어졌다.


또 한가지의 문제 아직 한국의 사이트 제작 작업의 대부분이 euc-kr 로 작업되고 있어서인지

부가적으로 추가되는 모듈(sms,실명인증.....등)과 utf-8 호환이 안되는것들이 많은것 같다.

사이트 포멧 utf-8 에서 euc-kr 포멧에 맞춰진 sms 모듈을 http 호출로 전송해보니 한글이 깨져서 전송되었다.


그래서 utf-8 페이지에서 내용을 전송하기전 한글을 escape(string) 한 후

http 호출 하는 페이지를 euc-kr로 파일 포멧하고 받는 내용을 unescape(request_string) 하였다.

이걸로 한글이 정상적으로 전송되고 작업은 마무리 되었다.


Posted by myjamya :