2014-02-28 2 views
2

XML 데이터를 검색하기 위해 웹 서비스를 호출하고 있습니다. xml 변수에 대한 응답을 저장합니다.powershell xml 변수 인코딩

$Response = Invoke-WebRequest $newURL -Method Post -Headers @{SOAPAction=$newURL} -ContentType "text/xml" -Body $queryBody 

웹 서비스의 결과는 헤더 섹션에 UTF-8 인코딩의 XML입니다.

그러나 나는 다음과 같은 몇 가지 요소 즉 액세스 할 때 : "?"

$response.Envelope.Body.describeSObjectResponse.result.fields[4].picklistValues 

좀 자국 문자가 문자로 대체되기 때문에 일부 값은 아스키로 변환되는 것을 볼 수 있습니다.

이러한 요소를 UTF-8 인코딩으로 읽는 방법을 알려주십시오.

편집 2014년 1월 3일 :
문제처럼 보인다는 호출 - WebRequest 클래스와 함께입니다. -outfile 스위치를 사용하여 출력을 file로 리디렉션하면 파일의 인코딩이 정확합니다. xml 파일의 내용을 xml 변수 인코딩으로로드하면 여전히 올바른 것입니다.

모든 아이디어는 어떻게 출력을 파일로 리디렉션하지 않고 동일하게 할 수 있습니까? PowerShell 로직 내부에서 직접 작업 하시겠습니까?

+0

PowerShell 호스트에서 어떤 글꼴을 사용하고 있습니까? 일반 콘솔 호스트 (동일한 명령 프롬프트에서 사용), [터미널] (http://en.wikipedia.org/wiki/Terminal_ (서체))의 기본 글꼴은 UTF-8을 지원하지 않습니다. – Nacimota

+0

Windows PowerShell ISE에서 스크립트를 실행 중이며 글꼴은 Lucida Console 9pt입니다. – user2761761

답변

1

이 명령으로 버그가 발생할 수 있습니다. 이 Connect issue이 보이는 것을 보게되면, 투표를하십시오.