2013-09-26 4 views
0

아랍어 문자가 포함 된 일반 텍스트 파일을 저장해야하며 아랍어 문자는 파일을 열 때 표시되어야합니다.windows-1256로 인코딩 된 문자를 올바르게 표시 할 수 있도록 파일의 코드 페이지를 강제 설정 하시겠습니까?

나는 Encoding.GetEncoding(1256)를 사용하여 문제없이 이름을 삽입하고 파일을 저장할 수 있습니다 - 다시 StreamWriter의 코드 페이지로 1256을 사용하여.

그러나 메모장에서 결과 파일을 볼 때 ++ 문자가 올바르게 나타나지 않으며 아랍어로 표시되도록 의도적으로 코드 페이지를 1256으로 다시 전환해야합니다.

난 후 제 3 자에게 파일을 전송하고,하지만 그들은 아랍어를 읽을 수 없습니다 때문에 (나는 아무 생각이 왜!) 코드 페이지를 변경하고 수 없습니다.

사용되는 코드 페이지가 파일에 "포함"되도록 파일을 저장할 수있는 방법이 있습니까?

답변

2

파일을 UTF-8로 저장하십시오. 파일의 시작 부분에 마술 BOM (Byte Order Mark)이 자동으로 포함되어 파일을 여는 응용 프로그램이 UTF-8로 인코딩되었음을 알 수 있습니다.

+0

작동 :) 그냥 내 이해를 위해 1256로 인코딩하지 않으면 BOM을 1256으로 설정하지 않는 이유는 무엇입니까? 또는 다른 방식으로 같은 질문을하는 이유는 무엇입니까? 1256이 아니라 UTF-8을 사용해야하는 이유는 무엇입니까? – BlueChippy

+1

1256으로 인코딩하면 아랍어와 일부 라틴 문자 만 인코딩 할 수 있습니다. UTF-8은 지원되는 모든 문자 세트를 한 번에 인코딩 할 수 있습니다. 따라서 파일에 아랍어와 다른 언어가 포함되어 있다면 1256을 사용할 계획이라면 엉망이 될 것입니다. @BlueChippy – Rezoan

+0

1256에 대한 BOM이 없습니다. 메모장은 파일을 열 때 UTF-8 및 UTF-16 만 인식 할 수 있으며 다른 모든 파일은 사용 된 코딩에 대한 정보없이 저장됩니다. – krisku