본문 바로가기

MFC

[프로그램] 아스키(ASCII/EUC-KR) 파일을 UTF-8 로 인코딩

728x90
반응형
예전에는 웹페이지 파일의 인코딩(charset) 을 대부분 euc-kr 로 설정하였었다.
<meta http-equiv="Content-Type" content="text/html; charset=euc-kr">

요즘의 추세는 UTF-8 이다.
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

얼마전 웹호스팅 서버를 이전해야 할 일이 생겼다.
A라는 서버에 올라가 있는 웹페이지 파일들은 모두 euc-kr charset 으로 지정되어 있었다.
그런데 새로 이사가려는 B 서버에 파일을 올리기 위해서는 이 웹페이지 파일들을 utf-8 인코딩으로 변환해야만 했다. mysql DB 서버가 utf-8 인코딩만 지원 가능했기 때문이다.

인코딩 타입을 euc-kr 에서 utf-8 로 변경하는 것은 파일에 있는 euc-kr 문자열을 utf-8 로 변경한다고 해서 끝나는게 아니다.
파일의 내용 자체를 utf-8 포맷으로 변환해 주어야만 한다.

그래서 euc-kr charset 으로 작성된 파일들의 인코딩을 utf-8 로 변환해주는 프로그램이 필요했다.

구글링을 해서 찾은 결과 중 그런대로 유용한 정보는 아래와 같았다.

한글 텍스트 문서를 유니코드(Unicode/UTF-8)로 변환하기 : http://mwultong.blogspot.com/2006/05/unicode-utf-8_20.html
UTF-8 변환 프로그램 : http://www.zeroboard.com/comm_pds/17315333/page/3

그러나 나에게는 좀 더 친숙한 UI의 프로그램이 필요했다.
프로그래머이기에 직접 만들었다.

아스키 데이터를 UTF-8 로 변환하기 위해서는 2단계의 과정을 거쳐야 한다.
ANSI( MutiByte ) -> UCS-2( WideByte ) -> UTF-8( MultiByte )
참조 : http://digitz.tistory.com/entry/ANSI%EC%99%80-UTF-8%EA%B3%BC%EC%9D%98-%EC%83%81%ED%98%B8-%EB%B3%80%ED%99%98

[프로그램 스크린샷 및 설명]


프로그램을 실행하면 위 그림과 같은 UI 의 대화상자가 나타난다.
변환하고자 하는 파일 또는 변환하고자 하는 파일이 들어있는 폴더를 마우스로 드래그 앤 드롭하면 리스트에 등록이 된다.

목록의 오른쪽에는 목록에 포함된 파일의 확장자를 구분하여 그 개수를 알려준다.
오른쪽 확장자 목록에서 특정 확장자의 체크박스를 선택/해제할 때마다 왼쪽의 목록에 등록된 해당 확장자의 파일 항목이 체크/해제 된다.

변환시작, Remove UTF8 Header, Insert UTF8 Header 등 세 개의 버튼은 왼쪽 위의 파일 목록에서 체크된 파일만을 대상으로 작업한다.


목록 아래쪽에 제외할 확장자 에디트박스에 목록에서 제외하고자 하는 확장자를 *.zip;*.gif; 와 같은 형식으로 입력한 뒤 적용 버튼을 누르면 해당 확장자는 생략된 채로 목록이 작성된다.

변환시작 버튼을 눌렀을 때 목록에서 선택된 상태의 파일에 대해서 UTF-8 포맷으로 인코딩이 적용되고, 해당 파일의 선두에 BOM (EF BB BF) 가 기록된다.


UTF-8 인코딩 변환시 원본 파일에 대한 백업파일을 작성하는 기능이 포함되어 있다.

파일 안에 들어있는 euc-kr 등의 문자열을 utf-8 로 변경해 주는 작업은 사용자가 직접 수행해야 한다.

선택된 상태의 파일에 대해서 BOM 을 제거하거나 추가하는 기능을 포함하고 있다.
IE의 경우 BOM이 없는 UTF-8 인코딩 타입의 웹페이지 파일 내용이 보이지 않는다.
php 파일의 경우 BOM 이 없어야만 하는 경우가 있다.

[프로그램 사용권한]
이 프로그램은 공개 프로그램이다.
어딘가에 재배포할 경우에는 배포사이트인 이 포스트 주소를 링크로 걸어야만 한다.
파일에 대한 직접 배포는 허락하지 않는다.

[프로그램 다운로드]

반응형