2009-05-08 4 views
41

VS가 이상한 ISO 대신 유니 코드를 사용하도록 강제 할 수있는 방법이 있습니까?csharp 프로젝트 (Visual Studio/msbuild machine)에서 소스 파일 인코딩을 변경하는 방법은 무엇입니까?

비스타 (폴란드어 로케일)에서 Visual Studio 2008을 사용하여 winapp csproject를 작업하고 있습니다. 이 문제는 Windows Server 2003 (영어 로켈)에서 프로젝트를 빌드 할 때 나타납니다. 그런 다음 폴란드어 발음 구별 기호가 사라졌습니다.

문제는 부적절한 소스 파일 인코딩으로 인해 발생했는지 조사했습니다. 소스 파일이 UTF-8 인코딩을 사용하지 않는 것 같습니다.

답변

91

문제점 : 방금 추가 한 국제 문자로 인해 명령 행에서 컴파일러가 소스 파일을 처리 할 수 ​​없습니다.

해결 방법 : 국제 문자를 보존하기 위해 원본 파일을 UTF-8 인코딩으로 명시 적으로 저장하십시오.

* open the problematic file in Visual Studio. 
* on the File menu click “Advanced Save Options“ 
* from “Encoding” combo select “Unicode (UTF-8 …“ 
* click OK. 

이 당신을 설정하는 방법 :

. 녹색을 기다리는 서버와 나머지 팀을 구성하십시오.

+3

나는 그것을 잠시 전에 알아 냈다. 'UTF-with-BOM'을 사용하여 테스트 용으로 하나의 파일을 저장하고 잘못된 문자열 두 개를 수정했습니다. Visual Studio에서 모든 소스에 대해 UTF를 사용하도록 설정해야합니까? 수백 개의 파일을 수동으로 변경하는 것은 정말 어리석은 일입니다. – tomo

+0

그러나 해결 방법이 있습니다. 예를 들어 영어와 같이 컴퓨터의 국가 별 설정을 지정하여 다른 인코딩을 사용하는 Visual Studio를 사용할 수 있습니다. 그러면 VS가 'Unicode UTF-8 - Codepage 65001'이 아닌 'Western European - Codepade 1252'를 사용하게됩니다. 다시 말하지만 Express Edition에서 작동하며 전체 응용 프로그램에서 사용할 수있을 것으로 확신합니다. – ruslander

+4

이 해결 방법은 저를 만족시키지 않습니다. 나는 컴퓨터의 지역 설정을 의도적으로 연마하여 설정을 바꾸는 것은 불가능합니다. CP 1252로 전환하는 것도 옵션이 아닙니다. CP65001을 명시 적으로 설정하고 싶습니다. 저는 연구를 위해 시간을 보냈습니다. VS 2008 템플릿이 괜찮다는 것을 알았습니다 - 그들은 모두 BOM이있는 UTF-8입니다. 모든 악의 근원은 외부 구성 요소 생산자가 부주의 한 코더의 템플릿입니다. 또한 최근에 출시 된 ASP.NET MVC에도이 문제가 있습니다. – tomo

1

VS2015 vb.net 프로젝트에서 동일한 문제가 발생하여 <CodePage>1250</CodePage> 마커를 vbproj/csproj 파일에 추가하여 해결했습니다. 나는 <SchemaVersion> 마커 후에 그것을했다, 프로젝트를 재건했다. 그리고 그것은 나를 위해 일했다. 나는 ż, ą 등의 글자를 쓰는 데 어려움을 겪었습니다. UTF-8 - 65001을 사용해 볼 수도 있지만 작동하는지 확인하지 않았습니다.