반응형

비주얼 스튜디오로 프로젝트를 개발하고 있다면
소스 비교 프로그램이나 소스트리 같은 외부 프로그램으로 소스를 확인할 때
한글 부분이 깨져보였던 경험이 많이 있으실텐데
한글 버전의 비주얼 스튜디오의 기본 파일 생성 인코딩은 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
옵션 설명
| charset = utf-8-bom | 파일을 UTF-8(BOM)로 저장 |
| end_of_line = crlf | Windows 줄바꿈 |
| insert_final_newline = true | 파일 끝에 줄바꿈 추가 |
| indent_style | 들여쓰기 방식 |
| indent_size | 들여쓰기 크기 |
클래스를 새로 만든 후 다른 이름으로 저장해서 인코딩을 확인해보면 UTF-8로 저장된걸 확인할 수 있고
외부 프로그램에서도 기존 소스의 한글이 제대로 보이는걸 확인할 수 있습니다.


반응형
'C++, MFC' 카테고리의 다른 글
| [MFC] 텔레그램 봇 만들고 메세지 보내기 예제 (4) | 2025.08.23 |
|---|---|
| [C++ / MFC] 트레이 아이콘 만들기 예제 (0) | 2025.01.09 |
| [C++/MFC] vcpkg로 추가한 라이브러리에서 링크 에러 발생 / error LNK2001 : __std_max_element_4 (0) | 2023.03.20 |
| [C++ / MFC] Py_Initialize() 호출 시 에러 / Fatal Python error: failed to get the Python codec of the filesystem encoding (0) | 2023.03.10 |
| [C++/MFC] 파일, 폴더(디렉토리) 존재 확인하는 방법 (0) | 2023.02.20 |
댓글