작업환경 :
OS = 한글windows2000 server
DB = MS-SQL2000
개발에디터 = Ultra Editor, Notepad (노트패드는 소스화일을 저장시 utf-8로 저장하기 위해 필요함)
mail = sendmail, 기본smtp
1. 유니코드로 작성한다.
-소스상단에 넣어야 할 것
<% session.codepage = 65001 %>
<% Response.CharSet = "utf-8" %>
-html 부분과 중국어폰트적용
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-화일을 저장시 노트패드 등을 이용하여 utf-8로 저장함
2. DB 작업
-중국어가 들어가는 필드(문자열)를 nvarchar로 설정
-소스 : 유니코드의 값부분에 N을 넣어준다. (insert, select, uodate, delete 동일)
<%
insert into tblName (title) value (N'&variable&')
%>
3. window2000 설정
-제어판->국가별옵션에서
--사용자로케일을 중국어(RPC)로 설정(본토인경우)
--시스템언어설정을 중국(간체)로 설정하고 기본값으로 설정
--시간부분의 오전,오후를 중국어표기로 변경(그래야 now()함수를 사용시 중국시간표기로 나옴 2002-02-12 오전 10:00에서 오전자가 중국어로 나온다는 말)
--시스템언어설정이 중국어로 되더라도 윈도우환경이 메뉴등은 한글로 표기되나... 폴더명, 화일명 등의 한국어는 깨지며 소스화일의 한국어가 ㅁ ? 등으로 표기됨, 중국어는 제대로 보임 즉, 한국어와 중국어가 바뀌는 현상발생함.
4.asp페이지와 페이지사이의 quertstring에서 중국어가 안 넘어가는 경우 해결법
-server.urlencode을 이용하여 넘겨주면 해결
-소스예
<a class='MIME' href="page1.asp?param1=<%=server.urlencode("변수명")%>">클릭하세요</a> 여기서 변수명의 실제값이 중국어이다.
5.asp페이지의 스크립트부분에서 변수에 중국어를 넣을 때 에러나는 경우 해결법
-소스상단에 <% session.codepage = 65001 %> 대신에 <%@ CODEPAGE = 65001 %>을 넣어줌.
6.abcupload, dextupload 등을 이용하여 폼을 넘길 경우 해결법
-소스예
<%
set UploadForm = server.CreateObject("ABCUpload4.XForm") 'abs일 경우
'Set uploadForm = Server.CreateObject("DEXT.FileUpload") 'dext일 경우
UploadForm.CodePage = 65001
%>
7.이메일발송시 중국어 깨지는 것 해결
-소스예
<%
objMail.SetLocaleIDs(936) '로케일설정을 936(중국)으로 설정하며
body = "<meta http-equiv='Content-Type' content='text/html; charset=gb2312'>" '보내는 바디부분에
'이페이지 상단은 session.codepage = 65001 로 타페이지와 같음
%>
8. now()사용시 오전/오후 한글로 표기되는 경우(한글OS에서 중국으로 셋팅하여 사용하는 경우)
session.LCID=2052
9. queryString으로 받았는데 중국어가 깨지는 경우가 있으면...
자바로 된 실시간 쪽지에서 유저애플릿으로 쪽지내용을 보내주고 이를 쿼리스트링으로 넘겨서 받는 사람에게 실시간으로 보여줄 때 중국어, 한국어 등등 모두 가능하게 해야 되기에 이런 방법을 써봤습니다.
<script language="JavaScript">
strMsg = window.location.search.split("msg=");
displayMsg = strMsg[1].replace(/%20/gi," "); // /%20/gi 패턴정규식으로 space를 " "로 바꿔줍니다.
document.writeln(" <iframe src='./paper_receive_iner.asp?msg="+String(displayMsg)+"' width='280' height='100' frameborder='0' marginwidth='0' marginheight='0' style='border:none;background-color:#f5f5f5'>");
document.writeln(" </iframe>");
</script>
'Website 세상 > Web Program' 카테고리의 다른 글
홈페이지 접속시 바탕화면 아이콘 만들기 (BaCon) (0) | 2008.09.05 |
---|---|
'시작' - '실행' 명령어. 알아두면 편리함 (0) | 2008.09.05 |
ASP / PHP Cross Reference (0) | 2008.09.05 |
메일 수신 확인 방법 (0) | 2008.09.05 |
scriptX 무료기능을 이용한 print() 했는지 여부 확인하기 (0) | 2008.09.05 |