it-swarm-vi.tech

Powershell: Cài đặt mã hóa cho đường ống nội dung

Tôi có một tệp được lưu dưới dạng UCS-2 Little Endian Tôi muốn thay đổi mã hóa vì vậy tôi đã chạy đoạn mã sau:

cat tmp.log -encoding UTF8 > new.log

Tệp kết quả vẫn còn trong UCS-2 Little Endian. Đây có phải là vì đường ống luôn ở định dạng đó? Có cách nào dễ dàng chuyển đường dẫn này sang tệp mới dưới dạng UTF8 không?

45
jedatu

Theo đề xuất tại đây :

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

Tôi sẽ làm như thế này:

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

Sự hiểu biết của tôi là tùy chọn -encoding chọn mã hóa mà tập tin nên được đọc hoặc ghi vào.

28
driis

tải nội dung từ tệp xml với mã hóa.

(Nhận nội dung - Mã hóa UTF8 $ fileName)

7
user572730

Nếu bạn đang đọc tệp XML, đây là cách thậm chí tốt hơn để điều chỉnh mã hóa tệp XML của bạn:

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