2014-09-04 2 views
0

Xcode, iOS 프로젝트. 내 소스 중 일부는 비 ASCII 문자가있는 값으로 초기화 된 문자열을 포함합니다.리터럴에서 ASCII가 아닌 비 유니 코드 문자

const char s[] = "Здесь был Вася"; 

출처는 코드 페이지 Windows-1251에 있습니다. 일단 Xcode에 알려 주면 표시하고 편집하는 데 문제가 없습니다. 그러나 LLVM 컴파일러는 "문자열 리터럴에서 잘못된 문자 인코딩"이라는 경고를 표시합니다. 이전 버전의 Xcode에서는 GCC가 그렇지 않았습니다. 다른 컴파일러 (MSVC, GCC 다른 곳)에서는 문제가되지 않습니다.

런타임 중에 문자열이 CP1251에 있어야합니다. UTF-8 문자열로 바꾸려면 불필요한 변환 코드가 많이 필요합니다.

사용 중지 방법이 있습니까? 이상적으로, 컴파일러에게 소스가 Windows-1251에 있음을 알리고 내가하는 일을 알고 있습니다.

답변