UTF-8 (BOM없이)로 저장 해야하는 자바 스크립트 파일이 있으며 메모장 ++ 에서 올바른 형식으로 변환 할 때마다 Visual Studio에서 파일을 열면 BOM을 사용하여 UTF-8로 되돌아갑니다. VS2010이 그렇게하지 못하게하려면 어떻게해야합니까?
또 다른 질문은 Visual Studio에서 서명이없는 UTF-8이 BOM이없는 UTF-8과 동일합니까?
UTF-8 (BOM없이)로 저장 해야하는 자바 스크립트 파일이 있으며 메모장 ++ 에서 올바른 형식으로 변환 할 때마다 Visual Studio에서 파일을 열면 BOM을 사용하여 UTF-8로 되돌아갑니다. VS2010이 그렇게하지 못하게하려면 어떻게해야합니까?
또 다른 질문은 Visual Studio에서 서명이없는 UTF-8이 BOM이없는 UTF-8과 동일합니까?
답변:
BOM 또는 바이트 주문 마크는 때때로 성가시다. Visual Studio는 파일을 저장하지 않으면 파일을 변경하지 않습니다 (Hans가 말한 것처럼).
다음은 문제에 대한 해결책 입니다. 다른 인코딩으로 파일을 저장하려면 다른 이름으로 저장을 선택하고 파일 대화 상자에서 저장 버튼을 확장하고 "인코딩으로 저장"을 선택하십시오. 또는이 설정을 영구적으로 제거하려면 파일 메뉴를 열고 "고급 저장 옵션"을 선택하면 "서명없는 UTF-8"(그리고 마지막 질문 :)도 선택해야합니다. 예 "서명없는 UTF-8"은 BOM없는 것과 동일합니다.
이제 사진과 함께.
File
->로 이동하십시오 Save As
.
그런 다음 저장 버튼에서 삼각형을 클릭하고을 클릭하십시오 Save with Encoding...
.
확인을 클릭하여 파일을 덮어 쓴 다음 인코딩 목록에서 찾기 UTF-8 Without signature
->를 클릭하십시오 OK
.
이것이 시간을 절약하기를 바랍니다.
Visual Studio 2010+에서 BOM을 UTF-8 파일에 추가하지 못하게 하는 수정 파일 인코딩 확장을 만들었습니다 .
불행히도 이것은 csproj 파일에서 작동하지 않습니다. "고급 저장 옵션"이 없으며 cs 파일에 대해 "서명없는 UTF-8"로 설정하더라도 csproj 파일은 여전히 BOM과 함께 저장됩니다. VSS를 사용하는 경우 여전히 프로젝트 파일에 대해 불평합니다.
UTF-8- "다른 이름으로 저장"(서명없이) 기본값-서명없이 UTF에 대한 기본값 포함 요청
VS 2017은 기본적으로 EditorConfig를 지원 하므로 권장되는 솔루션은
.editorconfig
파일을 코드베이스 에 추가 하고 설정하는 것charset => utf-8
입니다. 그런 다음 파일을 저장하면 BOM없이 UTF-8로 저장됩니다.
charset
.editorconfig github.com/editorconfig/editorconfig-visualstudio/issues/
최근에 임의의 UTF-8 인코딩 파일에서 BOM을 추가하거나 제거하는이 작은 명령 줄 도구를 찾았습니다. UTF BOM 유틸리티 ( github의 새 링크 )
약간의 단점은 일반 C ++ 소스 코드 만 다운로드 할 수 있다는 것입니다. makefile ( 예 : CMake 사용 )을 작성하고 직접 컴파일해야합니다.이 페이지에는 바이너리가 제공되지 않습니다. 그러나 소프트웨어 개발자에게는 문제가되지 않습니다.
Dave81의 솔루션을 사용하더라도 Visual Studio 2015 Community는 HTML 파일을 저장할 때마다 여전히 내 파일을 UTF8-BOM으로 되돌 렸습니다.
해당 html 파일을 만들 때 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 "추가"를 선택한 다음 HTML 파일을 추가했습니다.
기본적으로 Visual Studio는 <meta charset="utf-8" />
HTML 파일에 태그를 포함 합니다.
태그를 제거한 다음 Dave81의 솔루션을 적용하면 문제가 해결됩니다.
Visual Studio가 html 파일을 구문 분석하는 것으로 보이며 태그를 볼 때 원래 파일 형식 (BOM이없는 UTF-8)을 고려하지 않고 파일을 UTF8-BOM으로 변환합니다.
Dave81의 솔루션에서 직접 의견을 말했지만 그렇게할만한 충분한 지적이 없었습니다 ...