sub_title
 ASP
제   목 ASP로 다국어(UTF-8) 지원 사이트 개발
작성자 웹마당넷 등록일 2009-01-27 18:53:58 조회수 214,086

[ASP로 다국어(UTF-8) 지원 사이트 개발]

다국어 지원 사이트에 관련된 정보라면 포탈의 검색창에 입력만 하면 많은 정보들이 주르륵 쏟아져 나오기 때문에 실개발 작업에 있어서는 큰 어려움 없이 개발 가능하지만 여전히 복병은 존재합니다.

그중 한가지 복병이 업로드 컴포넌트에 관련된 부분인데 Dextupload 컴토넌트 같은 상용 컴포넌트를 사용한다면 UTF-8이 지원되기 때문에 문제될 것이 없지만 일부 컴포넌트에서는 UTF-8 지원 여부를 테스트 해 보아야 합니다.

많이 사용되는 ABCUpload 컴포넌트는 4.1 이하 버전이 코드페이지가 지원되지 않았던 걸로 기억됩니다. ABCUpload 컴포넌트 4.0 버전을 사용하신다면 4.1 이상 버전으로 업그레이드 하셔야 합니다.

아래는 ASP로 다국어 지원 사이트 개발에 참고하셔야 할 내용을 순차적으로 정리한 것입니다.

1. 페이지의 최상단에 아래의 문구를 삽입합니다.

<!-- 페이지의 UTF-8 캐릭터셋 정의 -->
<%@ CODEPAGE = 65001 %>
<%Response.Charset = "UTF-8" %>


CODEPAGE = 65001 대신에 Session.CodePage = 65001을 사용하게 되면 변수에 한글또는 중문,일문등의 다국어가 대입될때 에러가 발생하게 됩니다.

순수 html 로 정의된 페이지에서는 Response 대신에 아래와 같이 메타태그를 이용해서 UTF-8 인코딩을 지정합니다.

<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'>

2. html, asp, css, js 등 웹사이트에 사용되는 모든 문서는 UTF-8 로 인코딩되어 저장 되어야 합니다.


3. Get 방식으로 전송되는 데이터는 아래와 같이 인코딩 해줍니다. 아래의 sendData는 임의의 변수명입니다.

sendData = Server.URLEncode(sendData)

4. 데이터베이스(테이블) 생성시, 다국어 데이터가 삽입되는 컬럼은 nchar, nvarchar, ntext 등의 n이 붙은 데이터 형식으로 설정합니다.

5.
데이터 Insert나 Update시 nchar,nvarchar 등등의 다국어 지원 컬럼에 삽입되는 변수 앞에는 N을 붙여줍니다.( 아래
예제 참조! )

<%
     SQL = " Insert INTO "& tbltest
                 SQL = SQL&" ("
                 SQL = SQL&" seq"
                 SQL = SQL&",name"
                 SQL = SQL&",subject"
                 SQL = SQL&",contents"
                 SQL = SQL&",insert_date"
                 SQL = SQL&") Values ("
                 SQL = SQL & seq
                 SQL = SQL &",N'"&name&"'"
                 SQL = SQL &",N'"&subject&"'"
                 SQL = SQL &",N'"&contents&"'"
                 SQL = SQL &", getDate()"
                 SQL=SQL&")"

                 dbCon.Execute(SQL)
%>



6
. 업로드 컴포넌트 사용시 UTF-8 지원여부를 테스트해봐야 합니다.
ABCUpload 컴포넌트인 경우 4.1 부터는 코드페이지가 지원 되었음에도 불구하고 한글,중문등이 깨져서 저장되었습니다. 코드 페이지는 아래와 같이 정의하고 받는쪽을 아래와 같이 수정해 주시면 깨짐없이 잘 입력되었습니다.

ABCUPload 컴포넌트인 경우의 예

//코드페이지 정의

Set theABC = Server.CreateObject("ABCUpload4.XForm")
theABC.codePage = 65001




// 받는 페이지

name=trim(theABC("name")(1))
subject=trim(theABC("subject")(1))
contents=trim(theABC("contents")(1))





작성자: 웹마당넷(webmadang@webmadang.net)   http://www.webmadang.net
 
0
    
 
0
        list
 
※ 짧은 댓글일수록 예의를 갖추어 작성해 주시기 바랍니다.
line
reply cancel
 
번호 제목 글쓴이 추천 조회 날짜
81  ASP 파일의 존재유무를 체크하여 존재하면 삭제하기   member 오렌지 2 / 0 221879 2010-01-23
80  ASP - 정규식을 이용한 html 태그 제거 함수   member 오렌지 0 / 0 210254 2009-02-25
79  ASP 파일 확장자 제한하기   admin 웹마당넷 4 / 0 226141 2009-02-22
78  ASP - BASE64 인코딩 디코딩 함수 첨부파일   member 오렌지 2 / 1 229203 2009-02-06
77  ASP로 다국어(UTF-8) 지원 사이트 개발   admin 웹마당넷 0 / 0 214086 2009-01-27
76  ASP를 사용하여 SSL 요구   member 웹스톤 0 / 0 208141 2009-01-12
75  ASP용 MD5 함수 첨부파일   member 티란투라 0 / 0 219575 2009-01-07
74  ASP 로그인시 로그기록을 남기는 예제 첨부파일   admin 웹마당넷 0 / 0 215930 2009-01-04
73  ASP SQL 인젝션 방어와 복구   member 억새풀 0 / 0 215577 2008-12-26
72  ASP에서 REFERER 를 이용한 페이지 직접 접근 막기   member 억새풀 1 / 0 292743 2008-12-23
71  ASP 자동링크 함수   member 웹스톤 0 / 0 214888 2008-12-16
70  ASP 영문으로된 월 이름(Month Name) 구하기   admin 웹마당넷 0 / 0 211219 2008-12-09
69  ASP 문장 연결 표시(line continuation)   admin 웹마당넷 0 / 0 212276 2008-12-08
68  ASP 이름이 같은 폼태그(Form Tag)의 값(value) 처리하기   admin 웹마당넷 0 / 0 219354 2008-12-05
67  ASP OBJECT 태그를 이용한 OLEDB 연결   admin 웹마당넷 4 / 1 223623 2008-11-12
66  ASP 로그인(Login) 처리 예제 (OLEDB) 첨부파일   admin 웹마당넷 0 / 0 242855 2008-10-10
65  ASP 검색 페이지에서 검색된 문자열의 색깔 바꾸기   admin 웹마당넷 0 / 0 208405 2008-10-03
64  ASP 로그인(Login) 처리 예제 (ODBC) 첨부파일   admin 웹마당넷 0 / 0 244793 2008-10-02
63  ASP에서 XML 파일 읽어들이기   admin 웹마당넷 0 / 0 211988 2008-09-25
62  ASP 세션(Session)에 배열 저장하기   admin 웹마당넷 0 / 0 208424 2008-09-24
61  ASP For Each Next 순환문을 이용한 선택된 체크박스의 값 알아내기 첨부파일   admin 웹마당넷 1 / 0 236410 2008-09-23
60  ASP에서 날짜, 요일구하기   admin 웹마당넷 0 / 0 234717 2008-09-20
59  asp 페이지를 유니코드(unicode)로 출력하기   member 웹스톤 0 / 0 215095 2008-09-20
58  [ASP] 사이트 링크의 유효성 검사   member 다자래 0 / 0 206125 2008-08-22
57  [ASP] 퀵정렬   member 다자래 0 / 0 213897 2008-08-20
write
[2] [3] [4] button