본문 바로가기
C++, MFC

[C++/MFC] 소스코드 파일 UTF-8로 생성하기

by dev_drive 2026. 3. 14.
반응형

 

 

 

비주얼 스튜디오로 프로젝트를 개발하고 있다면

소스 비교 프로그램이나 소스트리 같은 외부 프로그램으로 소스를 확인할 때

한글 부분이 깨져보였던 경험이 많이 있으실텐데

한글 버전의 비주얼 스튜디오의 기본 파일 생성 인코딩은 CP949로 설정되어 있어서 그렇습니다.

 

이게 평소에는 크게 문제될 일이 없는데 주석이나 문자열 안에 유니코드 문자를 넣을때

CP949로는 표현되지 않아서 인코딩을 변경해야되는 상황이 생깁니다.

 

 

일단 기존 소스를 모두 UTF-8로 수정하는 방법은

Windows PowerShell을 실행해서 프로젝트 경로로 이동 후 아래 명령어를 입력해줍니다.

(C++ 프로젝트 기준이고 C#이나 다른 프로젝트는 해당하는 확장자를 입력해줍니다)

Get-ChildItem -Recurse -Include *.cpp,*.h,*.c,*.hpp |
ForEach-Object {
    $content = Get-Content $_.FullName
    Set-Content $_.FullName $content -Encoding utf8
}

 

 

 

그 다음은 새로 생성되는 소스 파일들이 UTF-8로 생성되게 하는 세팅입니다.

탐색기로 소스가 생성되는 경로로 이동해서 텍스트 파일을 하나 만든 후에 이름을 .editorconfig로 변경해줍니다.

그 다음 해당 파일에 아래 내용을 입력해주고 저장합니다.

# editorconfig 최상위 설정
root = true

# 모든 파일 기본 설정
[*]
charset = utf-8-bom
end_of_line = crlf
insert_final_newline = true

# C/C++ 소스 파일
[*.{c,cpp,h,hpp}]
charset = utf-8-bom
indent_style = space
indent_size = 4
trim_trailing_whitespace = true

# Visual Studio 프로젝트 파일
[*.{vcxproj,props,targets}]
charset = utf-8-bom

.editorconfig
0.00MB

옵션 설명

charset = utf-8-bom 파일을 UTF-8(BOM)로 저장
end_of_line = crlf Windows 줄바꿈
insert_final_newline = true 파일 끝에 줄바꿈 추가
indent_style 들여쓰기 방식
indent_size 들여쓰기 크기

 

 

클래스를 새로 만든 후 다른 이름으로 저장해서 인코딩을 확인해보면 UTF-8로 저장된걸 확인할 수 있고

외부 프로그램에서도 기존 소스의 한글이 제대로 보이는걸 확인할 수 있습니다.

 

 

반응형

댓글