Microsoft MVP성태의 닷넷 이야기
.NET Framework: 54.5. [추가]: VS.NET으로 UTF-8 홈페이지 구성하기 [링크 복사], [링크+제목 복사],
조회: 18070
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 
부모글 보이기/감추기
(연관된 글이 1개 있습니다.)


1. web.config의 globalization 속성을 다음과 같이 지정
    <globalization
            requestEncoding="utf-8"
            responseEncoding="utf-8"
   />


2. 모든 aspx 페이지를 "ansi" 코드 페이지로 저장

3. 모든 script 파일, css 파일, htc 파일 등을 "UTF-8" 인코딩으로 저장


음... 그 외에는 별달리 해줄 일이 없을 것 같군요. 나머지는 프로그램하다가 만나게 되는 사소한 문제들일 것 같고. ^^ 별다른 내용이 있으면 다음에 또 추가해 넣도록 하겠습니다.

생각보다 너무 간단하군요. ^^

------- [ 추가: 2005-12-27 ] -------------
일단, 위의 2번 사항에 대해 추가 설명을 해야 할 필요가 있을 것 같습니다.
왜? "ansi"로 저장하느냐?
그 이유는, 개발 환경의 편리함 때문입니다. 이유는 알 수 없지만, VS.NET 통합환경에서 제공하는 웹폼 에디터가 저장하는 방식이 바로 "Ansi" 입니다. 또한, 명시적으로 UTF-8을 지정해서 저장하게 되면,,,, 아쉽게도 BOM을 함께 써주지 않고 저장을 하고 있습니다. ASP.NET은 기본적으로 해당 파일이 Encoding.Default(한글 윈도우즈의 경우에는 "ks_c_5601-1987")이라고 가정하고 읽어 들입니다. 물론, 명시적으로 BOM 영역이 있으면 그에 맞춰 인코딩 처리를 하게 됩니다.

만약, aspx 웹 폼 파일까지도 UTF-8로 처리하고 싶다면, VS.NET IDE 환경에서 저장하시면 안되고, 메모장을 열어서 UTF-8로 인코딩 시켜서 저장해야 합니다. 메모장은, BOM 영역을 확실히 기록해 줍니다.

물론, BOM 영역이 없는 체로 UTF-8로 인코딩된 aspx 파일을 처리할 수도 있습니다. globalization 요소의 또 다른 속성인 fileEncoding을 통해서 가능한데, 이 값에 "utf-8"을 명시해 주어야 합니다. 그런 경우, BOM 영역이 없는 파일에 대해 기본 인코딩이 utf-8이라고 여김으로 정상적인 한글 처리가 가능합니다.

따라서, VS.NET 통합환경에서 aspx 페이지를 UTF-8로 명시적으로 지정해서 저장하는 경우에는 반드시 fileEncoding 속성을 utf-8로 주어야 합니다.


[연관 글]






[최초 등록일: ]
[최종 수정일: 7/9/2021]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... 61  62  63  64  65  66  67  68  69  70  71  72  73  [74]  75  ...
NoWriterDateCnt.TitleFile(s)
12086정성태12/20/201921019디버깅 기술: 144. windbg - Marshal.FreeHGlobal에서 발생한 덤프 분석 사례
12085정성태12/20/201919014오류 유형: 586. iisreset - The data is invalid. (2147942413, 8007000d) 오류 발생 - 두 번째 이야기 [1]
12084정성태12/19/201919434디버깅 기술: 143. windbg/sos - Hashtable의 buckets 배열 내용을 모두 덤프하는 방법 (do_hashtable.py) [1]
12083정성태12/17/201922384Linux: 27. linux - lldb를 이용한 .NET Core 응용 프로그램의 메모리 덤프 분석 방법 [2]
12082정성태12/17/201920594오류 유형: 585. lsof: WARNING: can't stat() fuse.gvfsd-fuse file system
12081정성태12/16/201922459개발 환경 구성: 465. 로컬 PC에서 개발 중인 ASP.NET Core 웹 응용 프로그램을 다른 PC에서도 접근하는 방법 [5]
12080정성태12/16/201919612.NET Framework: 870. C# - 프로세스의 모든 핸들을 열람
12079정성태12/13/201921510오류 유형: 584. 원격 데스크톱(rdp) 환경에서 다중 또는 고용량 파일 복사 시 "Unspecified error" 오류 발생
12078정성태12/13/201921345Linux: 26. .NET Core 응용 프로그램을 위한 메모리 덤프 방법 [3]
12077정성태12/13/201920396Linux: 25. 자주 실행할 명령어 또는 초기 환경을 "~/.bashrc" 파일에 등록
12076정성태12/12/201918953디버깅 기술: 142. Linux - lldb 환경에서 sos 확장 명령어를 이용한 닷넷 프로세스 디버깅 - 배포 방법에 따른 차이
12075정성태12/11/201919752디버깅 기술: 141. Linux - lldb 환경에서 sos 확장 명령어를 이용한 닷넷 프로세스 디버깅
12074정성태12/10/201919450디버깅 기술: 140. windbg/Visual Studio - 값이 변경된 경우를 위한 정지점(BP) 설정(Data Breakpoint)
12073정성태12/10/201920937Linux: 24. Linux/C# - 실행 파일이 아닌 스크립트 형식의 명령어를 Process.Start로 실행하는 방법
12072정성태12/9/201917701오류 유형: 583. iisreset 수행 시 "No such interface supported" 오류
12071정성태12/9/201921240오류 유형: 582. 리눅스 디스크 공간 부족 및 safemode 부팅 방법
12070정성태12/9/201923171오류 유형: 581. resize2fs: Bad magic number in super-block while trying to open /dev/.../root
12069정성태12/2/201919569디버깅 기술: 139. windbg - x64 덤프 분석 시 메서드의 인자 또는 로컬 변수의 값을 확인하는 방법
12068정성태11/28/201928245디버깅 기술: 138. windbg와 Win32 API로 알아보는 Windows Heap 정보 분석 [3]파일 다운로드2
12067정성태11/27/201919645디버깅 기술: 137. 실제 사례를 통해 Debug Diagnostics 도구가 생성한 닷넷 웹 응용 프로그램의 성능 장애 보고서 설명 [1]파일 다운로드1
12066정성태11/27/201919295디버깅 기술: 136. windbg - C# PInvoke 호출 시 마샬링을 담당하는 함수 분석 - OracleCommand.ExecuteReader에서 OpsSql.Prepare2 PInvoke 호출 분석
12065정성태11/25/201917606디버깅 기술: 135. windbg - C# PInvoke 호출 시 마샬링을 담당하는 함수 분석파일 다운로드1
12064정성태11/25/201920535오류 유형: 580. HTTP Error 500.0/500.33 - ANCM In-Process Handler Load Failure
12063정성태11/21/201919468디버깅 기술: 134. windbg - RtlReportCriticalFailure로부터 parameters 정보 찾는 방법
12062정성태11/21/201918926디버깅 기술: 133. windbg - CoTaskMemFree/FreeCoTaskMem에서 발생한 덤프 분석 사례 - 두 번째 이야기
12061정성태11/20/201919380Windows: 167. CoTaskMemAlloc/CoTaskMemFree과 윈도우 Heap의 관계
... 61  62  63  64  65  66  67  68  69  70  71  72  73  [74]  75  ...