it-swarm-ko.tech

Powershell : Get-Content Pipeline에 대한 인코딩 설정

UCS-2 Little Endian으로 파일을 저장했습니다. 인코딩을 변경하여 다음 코드를 실행했습니다.

cat tmp.log -encoding UTF8 > new.log

결과 파일은 여전히 ​​UCS-2 Little Endian에 있습니다. 파이프 라인이 항상 그 형식으로되어 있기 때문입니까? UTF8로 이것을 새로운 파일로 파이프하는 쉬운 방법이 있습니까?

45
jedatu

제안 된대로 여기 :

Get-Content tmp.log | Out-File -Encoding UTF8 new.log
54
Lars Truijens

나는 이렇게 할 것입니다 :

get-content tmp.log -encoding Unicode | set-content new.log -encoding UTF8

내 이해는 -encoding 옵션이 파일을 읽거나 써야 할 암호화를 선택한다는 것입니다.

28
driis

인코딩을 사용하여 xml 파일에서 컨텐츠를로드하십시오.

(Get-Content-UTF8 $ fileName 인코딩)

7
user572730

XML 파일을 읽는 경우 XML 파일의 인코딩에 적응하는 더 좋은 방법은 다음과 같습니다.

$xml = New-Object -Typename XML
$xml.load('foo.xml')
1
sba