본문 바로가기

WEB

ASP 다국어 사이트 제작시 (중국어 처리)

<!-------------------------------- asp 다국어 사이트 국문접근시-->
<%
 session.codepage = cp949
%>



<!-------------------------------- asp 다국어 사이트 중문접근시-->
<%
 session.codepage = 65001
 Response.CharSet = "utf-8"

%>



<!-------------------------------- TABLE 구조-->
* 문자열 입력필드는 앞에 'N'이 붙어있는 것으로 만들어 준다.
char  = Nchar
varchar = Nvarchar
text  = Ntext



<!-------------------------------- 페이지 처리 -------->
* 사용된 업로드 컴포넌트는 ABCupload 4.1 이다.
* 3.5 개발용 버전으로 구현시 CodePage 기능이 올바르게 선언되지 않는다.
* 덱스트 업로드 컴포넌트도 무리없이 사용이 가능하다.
* 사이트 겔럭시 컴포넌트의 경우 클래스구조로 사용시 추천하지 않는다.
* 가급적 버전이 높은 ABCupload 나 덱스트를 권장하는 바이다.

<%
Set theForm = Server.CreateObject("ABCUpload4.XForm")
theForm.CodePage   = 65001    'CodePage 설정
theForm.MaxUploadSize = 5024000   '최대 업로드 사이즈
            
theForm.AbsolutePath = True    '경로
theForm.Overwrite   = true    '덮어쓰기

'#################################################### 변수값 처리
title   =   theForm(trim("title"))(1)
password =   theForm(trim("passwd"))(1)
page   =   theForm(trim("page"))(1)
content  =   theForm(trim("content"))(1)
content  =   replace(content,"'","''")

%>


<!-------------------------------- SQL -------->
* 쿼리 사용시 해당 필드앞에 반드시 'N'을 달아주자.

sql = "insert into "& TABLE
sql = sql & "(title,name,udate,visit,content) values "
sql = sql & "(N'"& title &"',N'"& name &"',getdate(),'0',N'"& content &"')"





국문과 영문의 경우 EUC-KR 로 크게 변동없이 처리가 가능하다.
하지만 중국어의 경우 문자열이 ????? 나 [][][][][] 로 처리되는 경우가 발생되는데
사용되는 페이지의 코드를 잡아주고,DB처리를 해주면 무리없이 사용이 가능하다.
파일 처리시 해당 컴포넌트의 버전과 선언부분을 확실히 해주자.