Вывод sqlite3.exe отличается в Powershell и командной строке - PullRequest
0 голосов
/ 21 мая 2019

Моя проблема связана с экспортом выходного файла в конвейеры с помощью 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, спасибо за советы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...