sqlite3.exe的输出在Powershell和命令行中是不同的

时间:2019-05-21 08:36:15

标签: powershell command-line

我的问题是使用PowerShell在管道中导出输出文件。

我在任务计划程序中有一个带有PowerShell脚本的任务,但是我的带有字符集的输出文件(newtest.txt)在PowerShell和命令行中是不同的。

sqlite3.exe和代码页存在问题。语言是捷克语。活动代码页是852(我运行“ chcp”),但是当我在Powershell ISE中运行$Outputencoding时,我得到的是:

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

charset输出文件“ newset.txt”的例子很糟糕:

  

Facebook –pĹ™ihlaste se,nebo se zaregistrujte Seznam-najdu tam,   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 –塞兹南(Neez)zaregistrujte Seznam-纳吉(Najdu)   内兹纳姆

我需要Powershell脚本中正确的字符集,谢谢您的建议。

0 个答案:

没有答案