'UTF-8'에 해당되는 글 1건

  1. 2008.09.05 utf-8 다국어 asp 페이지 만들기
2008. 9. 5. 23:31
일본어 사이트를 만들어 본 일이 있다. 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% 깨진다. 

Posted by ToTb