다음은 프로그램입니다. http://codepad.org/eyxunHot
파일의 인코딩은 UTF-8입니다. , ➑ball 나는 "UTF-8"인코딩으로 파일을 저장 메모장을 사용하는 경우인코딩과 관계없이 wifstream에서 올바른 텍스트 추출
, 다음 프로그램을 실행에 따라 :
나는 거기에 다음과 같은 단어 "의 config.ini"라는 이름의 텍스트 파일이 디버거에 eight_ball의 값입니다 : 나는 "유니 코드"인코딩으로 파일을 저장 메모장을 사용하는 경우  아발
, 다음 프로그램을 실행 eight_ball의 값이 디버거에 따라 : y 번째 ' b
메모장을 사용하여 "유니 코드 크기가 큰 파일 저장" 엔디안 "인코딩을 실행 한 다음 디버거에 따라 프로그램을 실행하면 eight_ball의 값은 입니다.
이 경우 모두 결과가 잘못됩니다. 또한 ANSI 인코딩은 ➑ 기호를 지원하지 않습니다. 인코딩에 관계없이 config_file >> eight_ball로 갈 때 파일에서 ➑ball이라는 단어를 추출 할 수 있도록하려면 어떻게해야합니까? 나는 config.ini의 인코딩에 관계없이이 프로그램의 출력을 "프로그램이 맞다"싶습니다.
문제는 근본적으로 해결할 수 없습니다. 내용이 "유효한"8 문자 인 Latin-1 파일을 저장하면 ➑볼 (유효한 문자 5 자)이 포함 된 UTF-8 파일과 구별 할 수 없습니다. 그것들은 같은 8 바이트입니다. – MSalters