2010년 7월 28일 수요일

ASP 다국어 이슈 (UTF-8)

ASP
1. Response.AddHeader "content-type","text/html;charset=UTF-8"
2. Response.Charset = "UTF-8"
3. Session.CodePage = 65001 '새로고침 대응

위 내용은 공통 Include 페이지에 포함 시킨다.

4. <%@ LANGUAGE='VBSCRIPT' CODEPAGE='65001' %>
-> 위 문장은 리퀘스트에서 넘어가는 값들(ex:Request("name"))을 UTF-8로 변환시킨다.

5. .asp 소스 파일은 꼭 UTF-8로 형식으로 저장 한다.
HTML <meta> 태크 추가
-> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

6. 단... 메일 관련된 HTML 파일의 경우 (ex: /mail/joinConfirm.html)
->내부적으로 Server.CreateObject("Scripting.FileSystemObject") 이용하여 파일 내용을 긁어올 경우
대상 HTML 파일은 일반 ANSI 형식으로 저장한다.

7. 파일 다운로드 관련....
Response.AddHeader "Content-Disposition","attachment;filename=" & Server.URLPathEncode(Realname)
다운로드 이름을 꼭 URL 인코드해야 한글 다운로드가 제대로 인식된다.

MS-SQL
1. nvarchar, nchar, ntext 형 데이터를 사용한다
-> varchar, char, text 형 데이터 사용금지.
2. 만일 커맨더 객체를 사용할 경우 nvarchar, nchar, ntext 형 맞게 수정해야한다.
3. Collate (정렬방식을 Unicode 방식으로 정의한다.)
ex)
CREATE TABLE [dbo].[t_admin](
[adminid] [nvarchar](25) COLLATE Korean_Wansung_Unicode_CI_AS

 

 

* 만약 다국어가 아니라 UTF-8 일 경우에는 마지막 MS-SQL 세팅은 굳이 nvarchar 형을 사용하지 않고 varchar 형을 사용해도 된다.

댓글 없음:

댓글 쓰기