بوويرشيل:إعداد الترميز لخط أنابيب Get-Content

StackOverflow https://stackoverflow.com/questions/76482

  •  09-06-2019
  •  | 
  •  

سؤال

لدي ملف محفوظ باسم UCS-2 Little Endian وأريد تغيير الترميز لذا قمت بتشغيل الكود التالي:

cat tmp.log -encoding UTF8 > new.log

الملف الناتج لا يزال في UCS-2 Little Endian.هل هذا لأن خط الأنابيب دائمًا بهذا التنسيق؟هل هناك طريقة سهلة لتوصيل هذا إلى ملف جديد باسم UTF8؟

هل كانت مفيدة؟

المحلول

كما هو مقترح هنا:

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

نصائح أخرى

سأفعل ذلك على النحو التالي:

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

ما أفهمه هو أن خيار -encoding يحدد التشفير الذي يجب قراءة الملف أو كتابته فيه.

تحميل المحتوى من ملف XML مع الترميز.

(الحصول على المحتوى - ترميز UTF8 $fileName)

إذا كنت تقرأ ملف XML، فإليك طريقة أفضل تتكيف مع تشفير ملف XML الخاص بك:

$xml = New-Object -Typename XML
$xml.load('foo.xml')
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top