악센트 부호가있는 문자가 포함 된 문자열에 Directory.Exists()
을 사용하는 데 문제가 있습니다.디렉터리 이름에 악센트 부호가있는 문자를 처리하는 방법
디렉토리 경로는 D:\ést_test\scenery
입니다. 내가 구문 분석하고 파일에 간단한 문자열로오고있다 :
[Area.121]
Title=ést_test
local=D:\AITests\ést_test
Layer=121
Active=FALSE
Required=FALSE
내 코드가 로컬 값을 복용하고 그것에 \scenery
을 추가하고있다. 이 테스트가 존재하는지 테스트해야하며 다음을 사용하면됩니다.
if (!Directory.Exists(area.Path))
{
// some handling code
area.AreaIsValid = false;
}
false를 반환합니다. 내가하고있는 문자열 처리가 악센트 부호가있는 문자를 대체하는 것 같습니다.
이그래서 것 같다 :이 보여주는
그리고 표시와 경고 메시지 : VS2012의 텍스트 시각화이 표시되어 (directoryManager은 System.IO.Directory
주위에 랩입니다) 악센트 부호가있는 문자가 인식되지 않습니다. 이 문제를 검색하는 것은 주로 강조 표시된 문자를 제거하거나 대체하는 것과 관련이 있습니다. 현재 '정상적인'문자열 처리를 사용하고 있습니다. 내가 FileInfo
를 사용하여 시도했지만 경로가 어쨌든 맹 글링받을 것 같습니다.
그래서 내 첫번째 질문은 Directory.Exists
테스트를 통과 할 수 있도록 문자열을 경로에 저장하는 방법입니까?
이렇게하면 경로 이름에 비 라틴 문자가 더 많이 포함될 수 있습니다. 전 세계의 사용자가있어 아랍어를 볼 수 있습니다. 러시아어, 중국어 등등. 이 모든 것을 어떻게 처리 할 수 있습니까?
대개 INI 구문 분석 코드가 utf8 파일을 ASCII (또는 이와 비슷한 형식)로 열 때 worng입니다. –