Моя проблема связана с экспортом выходного файла в конвейеры с помощью PowerShell.
У меня есть задача в планировщике задач со скриптом PowerShell, но мой выходной файл (newtest.txt) с набором символов отличается в PowerShell и в команделиния.
Это проблема с sqlite3.exe и кодовой страницей.Язык чешский.Активная кодовая страница - 852 (я запускаю "chcp"), но когда я запускаю $Outputencoding
в Powershell ISE, я получаю следующее:
sSingleByte : True
BodyName : iso-8859-2
EncodingName : Středoevropské jazyky (Windows)
HeaderName : windows-1250
WebName : windows-1250
WindowsCodePage : 1250
IsBrowserDisplay : True
IsBrowserSave : True
IsMailNewsDisplay : True
IsMailNewsSave : True
EncoderFallback : System.Text.InternalEncoderBestFitFallback
DecoderFallback : System.Text.InternalDecoderBestFitFallback
IsReadOnly : True
CodePage : 1250
Код в скрипте Powershell:
C:\sqlite3 -separator ';' places.sqlite "select moz_places.url, moz_places.title from moz_places where moz_places.title like '%' >> test1.txt
gc test1.txt | sort | get-unique > newtest.txt
copy newtest.txt test1.txt
И кодировкаПример выходного файла "newset.txt" ужасен:
Facebook - ph ™ ihlaste se, ne se se zaregistrujte Seznam - найдите там, co neznám
Код в командной строке (когда я запускаю только sqlite с параметрами):
C:\sqlite3 -separator ; places.sqlite "select moz_places.url, moz_places.title from moz_places where moz_places.title like '%' >> test1.txt
И кодировки идеально подходят в выходном файле:
Facebook - přihlaste se, nebo se zaregistrujte Seznam- najdu tam, co neznám
Мне нужны правильные кодировки в скрипте Powershell, спасибо за советы.