출처 : http://blog.naver.com/pompsky?Redirect=Log&logNo=60016001135
가장먼저 오제하님의 글을 보고 많이~ 참고하였습니다.^^
.
작업환경 :
OS = 한글 windows2000 server
DB = 한글 MS-SQL2000
1. CharSet을 이용한 사이트제작
- 타 게시물에서는 무조건 유니코드로 제작하라는 말이 무지 많았던 걸로 기억되는데..
CharSet을 이용하여 제작이 가능합니다~
-소스상단에 넣어야 할 것
<%@ CODEPAGE = 932 %>
<% session.codepage=932 %> : 일본
<%@ CODEPAGE = 936 %>
<% session.codepage=936 %> : 중국어
-html 부분과 해당폰트적용
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR"> : 한글
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> : 중국
<meta http-equiv="Content-Type" content="text/html; charset=SHIFT-JIS"> : 일본
2. DB 작업
-중국어,일본어, 한글이 들어가는 모든 varchar필드(문자열)를 nvarchar로 설정
-소스 : 유니코드의 값부분에 N을 넣어준다. (insert, select, uodate, delete 동일)
<%
insert into tblName (title) value (N'&variable&')
%>
3.abcupload, dextupload등을 이용하여 폼을 넘길 경우 해결법
-소스예
<%
set UploadForm = server.CreateObject("ABCUpload4.XForm") 'abs일 경우
'Set uploadForm = Server.CreateObject("DEXT.FileUpload") 'dext일 경우
UploadForm.CodePage = 932
%>
4. 중국사이트 경우 일본윈도우등에서 볼때 글자가 깨지는 현상
이 경우는 지원하지 않는 한자(중국어) 입력시에 이루어지는 현상인 듯 합니다. 한글 윈도우에서 볼때에는
멀쩡이 나오는 듯하지만 다른 윈도우로 볼때는 글자가 깨지는 현상이 발생하는 경우가 종종 있는 듯..^^;;
이 경우에는 해당 웹서버에 중국 기본 폰트를 설치 하신뒤, 중국사이트의 기본폰트를 CSS에서 세팅해
주는 것만으로도 해결할 수 있었습니다.
5. 작업환경
중국어, 일본어 사이트 제작시 가장 골치 아픈 점입니다. 중국윈도나 일본 윈도를 까는것이 가장 좋은 해결책이라
하는 듯하나 저의 경우는 어떻게든.. 피하고자 이리저리 해본결과.. 드림위버였습니다.
드림위버 MX 2004 버젼을 이용하여 코딩을 하는데, 환경설정 가운데언어 선택부분이 있습니다.
"환경설정 > 글꼴 " 부분에서 중국어, 혹은 일어를 선택하여 줍니다. (폰트설치는 기본으로~)
" 환경설정 > 새문서 " 부분에서 기본 언어를 중국어, 혹은 일본어로 선택하시면 됩니다.
이때 작업하시고 해당 서버에 올리시면 깨짐 없이 잘~ 보실 수 있습니다.
한글 → 일본 혹은 일본 → 한글 번역시에 http://ocn.amikai.com/amitext/indexUTF8.jsp 를 이용하시면 괜찮습니다.
이상 팁 아닌 팁이였습니다. ^^;; 바로 옆나라 사이트제작하는데 뭐이리 해줘야할껏이 많은지..
------------------------------------------
중국어 사이트 개발시 주의사항이 잘 정리되어 있어 옮겨 놓습니다.
---------------------------------------------------------------------------
작업환경 :
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>
위의 방법은 제가 중국커뮤니티사이트를 개발하면서 나름대로 터득한 것입니다. 처음엔 정말 난감하구 어렵더군요.
<%@codepage=932%> =>일본어
<%@codepage=950%> =>중국어
'PHP관련' 카테고리의 다른 글
OCIEnvNlsCreate() failed 처리안 (0) | 2011.10.14 |
---|---|
다국어 지원사이트에서의 폰트에 관한 설명 (0) | 2011.10.14 |
fremework 과 symfony (0) | 2011.10.14 |
php 에서 사용하기 위한 라이브러리 설치 모음 (0) | 2011.10.14 |
4,000 바이트 제한이 문제가 되십니까? LOB를 활용하십시오... (0) | 2011.10.14 |