Как мне читать и писать с правильной кодировкой? - PullRequest
0 голосов
/ 24 сентября 2018

Этот скрипт удаляет строки, содержащие определенные строки, в текстовых файлах.Хотя есть проблемы с обработкой скандинавских букв.Согласно Firefox кодировка

западноевропейская

.

$filter  = '.\*.alm'
$pattern = "ASE|MBE|MB1|Network interfaces|Handle|default collector|Proficy|Recovered|AlmODBC|Close Digital Point|DataBlock|Channel|Record|TESTBOOL|OK|OPC|Item|_COMMCHECK_|SYSTEM|ADMINISTRATOR|Unknown|ItemID|Field's|Connection|hutdown|acknowledged|Alarming|Suspended|primary|SAC|reloaded|Fix32|1601-01-01"

(Select-String -Path $filter -Pattern $pattern -NotMatch) |
    ForEach-Object -Begin {Remove-Item $filter} -Process {$_.line | Out-File -Append -Encoding unicode $_.filename }

Outfile содержит ошибки кодирования, такие как

L�G NIV�

Я пытался использовать Select-String -encoding unicode, но это просто приводит к бреду в файле

* 㨶 㤬 㠹 嬠 啌 华 ㅃ † ⁝ 彄† 〲 弳 呇 弱 噄 䅟 † †††††† 䭏 †††††††† 传 ⁋ †

Есть идеи, как правильно кодировать?

Пример ввода:

2018-06-13  06:24:59,999 [LUNSC2  ] Fix32.LUNSC2.LUNOP10_COMMCHECK_DV2.F_CV set to 0 by LUNOP10::SYSTEM ADMINISTRATOR               
2018-06-13  06:26:01,445 [LUNSC1  ] D_TA204_GT1_DV_AL             CFN              LARM      D_TA204_GT1_Reglerfel                  
2018-06-13  06:26:09,557 [LUNSC2  ] TRE-12-22-I085                OK                 OK      K-FP60 2 MISSADE SPJÄLLMOTIONERINGAR 
...