[C++] C4819 Warning 해결 방법, 한글 깨짐 문제

2020. 12. 3. 14:14·Programming/C++

C4819 Warning 의 경우는 파일의 저장 포맷 형식이 UTF-8 With BOM 으로 설정되지 않아서 발생하는 문제이다.

 

여기서 UTF-8 은 그냥 같은 UTF-8 이 아니라,

 

UTF-8 Without BOM 과 UTF-8 With BOM 으로 나뉘어 진다.

 

[Visual Studio] 파일 → 다른이름으로 ... 저장서 화살표 누르기.

 

.cpp, .hpp 파일을 저장 할 때,

 

한글, 중국어 등 multi-byte characters 가 하나라도 들어간다면

 

반드시 UTF - 8 With BOM(Signature) 으로 설정해야만, 해당 경고가 없어진다.

 

 

반드시 UniCode (UTF-8 With signature) 로 설정하여야 한다.

 

참고로, 해당 오류는 오지랖 넓은 '경고' 메세지가 아니다.

 

해당 문제로 인해 컴파일 단계에서는 문제가 없을 지 몰라도

 

Runtime 단계에서 디버그 해볼 시에 한글 글자가 깨지는 모습을 살펴 볼 수 있다.

 

 

 

UTF-8 without BOM

I have javascript files that I need them to be saved in UTF-8 (without BOM), every time I convert them to the correct format in Notepad++, they are reverted back to UTF-8 with BOM when I open them in

stackoverflow.com

 

StackOverFlow 링크에서 Martin Wang 의 답변을 살펴보면.

 

한글(multi-byte) 이 깨질 위험성이 존재한다고 말 해 주고 있으며, 실제로 필자도 해당 경고 메세지를 무시 하였다가

 

납품단계의 프로그램 내의 한글 문자가 일부 깨지는 현상이 발생 하였다.

 

때문에 해당 경고 메세지를 무시하지 말고, 반드시 BOM 을 포함한 UTF - 8 을 사용하도록 하자.

 

 

 

※ 이는 Windows 10 , Visual Studio 기준이다.

 

※ single-byte 언어 (ex : 영어) 기준으로는 BOM 을 제거한 UTF - 8 을 사용하는것을 권장한다.

저작자표시 (새창열림)

'Programming > C++' 카테고리의 다른 글

[C++] 람다식 mutable 의 쓰임세.  (0) 2020.12.07
[C++] push_back vs emplace_back 차이점  (2) 2020.12.07
[C++] constexpr 사용하기.  (0) 2020.11.22
[C++] 함수 포인터  (0) 2020.11.01
[C++] C++ 이 끔찍한 언어라 욕을 먹는 이유.  (0) 2020.09.30
'Programming/C++' 카테고리의 다른 글
  • [C++] 람다식 mutable 의 쓰임세.
  • [C++] push_back vs emplace_back 차이점
  • [C++] constexpr 사용하기.
  • [C++] 함수 포인터
Cyp
Cyp
  • Cyp
    Cyp Software Blog
    Cyp
  • 전체
    오늘
    어제
    • Cyp Blog (170)
      • Artificial Intelligence (47)
        • Paper Review (23)
        • Insights (6)
        • Fundamentals (15)
        • Preferences (3)
      • Cyber Security (1)
      • Programming (46)
        • C++ (21)
        • C# (19)
        • Python (2)
        • Rust (0)
        • Java (1)
      • Algorithm (17)
        • BACKJOON (15)
      • Operating System (14)
        • WSL (2)
        • Windows (1)
        • Linux (5)
        • Security (3)
      • Tools (26)
        • Docker (3)
        • DataBase (2)
        • SSH (1)
        • Doxygen (2)
        • Etc (17)
      • Miscellaneous (19)
        • Book (2)
        • Hardware (2)
        • Hevel (1)
  • 블로그 메뉴

    • Home
    • Guest Book
  • 링크

    • Github
  • 공지사항

    • 블로그 업데이트 노트
    • 블로그 운영방침
  • 인기 글

  • 태그

    UTF-8 without BOM
    Bom
    C4819
    y-cruncher
    utf-8 bom
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
Cyp
[C++] C4819 Warning 해결 방법, 한글 깨짐 문제
상단으로

티스토리툴바