일본어 사이트를 만들어 본 일이 있다. utf-8로 만들면 된다는 힌트를 듣고, 아주 많은 시도를 했다. 그런데.. 제대로된 정보를 얻을 수 없었고, 제대로 만들지도 못했다.
짜증나길래... 일본어 os에 일본어 sql을 깔아서 shift-jis로 서버를 돌리고 말았다. ^^;;
그때의 어려움을 다른 사람들이 겪지 않기를 바라면서.. 내가 가진 힌트들을 정리해 본다.
1. asp 페이지를 만든다.
2. 문자셋을 유니코드 utf-8로 변환한다.
3. 일단 아무내용도 없는 상태에서 저장한다.
4. 페이지 맨윗 줄에 <% @language='vbscript' codepage = '65001' %> 삽입.
5. head에 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 삽입
6. DB설정 char은 nchar로 varchar은 nvarchar로.. 문자형태의 형식은 모두 n이 붙은 형식으로 세팅.
7. SQL구문은 insert into testTable ( subject ) values ( N'" & subject &"' ) 처럼 값의 앞뒤를 작은따옴표로 감싸고 그 앞에 N을 붙여서 값을 INSERT한다. UPDATE로 마찬가지다. 주의할 점은 대문자 N이라는 것!
8. 이제 제대로 한 것 확인후 UTF-8로 세팅된 것 확인하면서 저장! 끝!
짜증나길래... 일본어 os에 일본어 sql을 깔아서 shift-jis로 서버를 돌리고 말았다. ^^;;
그때의 어려움을 다른 사람들이 겪지 않기를 바라면서.. 내가 가진 힌트들을 정리해 본다.
1. asp 페이지를 만든다.
2. 문자셋을 유니코드 utf-8로 변환한다.
3. 일단 아무내용도 없는 상태에서 저장한다.
4. 페이지 맨윗 줄에 <% @language='vbscript' codepage = '65001' %> 삽입.
5. head에 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 삽입
6. DB설정 char은 nchar로 varchar은 nvarchar로.. 문자형태의 형식은 모두 n이 붙은 형식으로 세팅.
7. SQL구문은 insert into testTable ( subject ) values ( N'" & subject &"' ) 처럼 값의 앞뒤를 작은따옴표로 감싸고 그 앞에 N을 붙여서 값을 INSERT한다. UPDATE로 마찬가지다. 주의할 점은 대문자 N이라는 것!
8. 이제 제대로 한 것 확인후 UTF-8로 세팅된 것 확인하면서 저장! 끝!
점검사항
가. INCLUDE되는 파일도 모두 형식이 UTF-8로 저장되어 있어야 한다. (다만, 그 INCLUDE되는 파일에 <% @language='vbscript' codepage = '65001' %> 을 붙이면 안되겠죠?)
나. .CSS나 .JS 파일 처럼 별도로 작성되어 이 페이지로 불러들여지는 파일들도 마찬가지로 모두 UTF-8로 저장되어 있어야 한다.
DB연동결과 글자가 깨진다면, 먼저... 변수 RESPONSE.WRITE를 이용하여 전달이 제대로 되는지 확인하고, 이상이 없다면 DB확인하면 된다. 이때는 6번과 7번만 확인하면 된다. 만약 변수값이 깨지고 있다면, 2,4,5번과 점검사항의 가/나를 확인해보기 바란다.
주의
utf-8이 아닌 기존 파일을 변환하여 utf-8로 만드는 경우는 주의가 필요하다. 영문은 문제없지만... 한글이 깨지는 경우가 있다. 한글이 깨지고 말면 그나마 다행인데... 때에 따라서는 알 수 없는 특수코드가 붙어버려 에러가 발생하기도 한다.
편집기의 문제라고 생각되는데... 한 두번 정상적으로 잘 되는지 테스트하고 처리하라.. 잘못하면 원본을 날리는 경우가 있다...
팁!
일본어 사이트를 만든 경우, 제대로 출력되고 있는지 확인하는 가장 쉬운 방법은 "ㅡ"(장음표시기호) 글자를 체크해 보는 것이다. 잘못된 경우라면 이 글자가 100% 깨진다.
'Website 세상 > Web Program' 카테고리의 다른 글
메일 수신 확인 방법 (0) | 2008.09.05 |
---|---|
scriptX 무료기능을 이용한 print() 했는지 여부 확인하기 (0) | 2008.09.05 |
다른 서버의 이미지 파일, 내 서버에 저장하기 (0) | 2008.09.05 |
리프레쉬 없이 데이터베이스 내용 가져오기 (0) | 2008.09.05 |
XMLHTTP 를 이용한 페이지 Refresh 효과.. (0) | 2008.09.05 |