我正在使用Ruby读取然后将文件打印到stdout,将输出重定向到Windows PowerShell中的文件。
然而,当我检查文件时,我得到了输入:
PS D:> head -n 1 .\inputfile
<text id="http://observer.guardian.co.uk/osm/story/0,,1009777,00.html"> <s> Hooligans NNS hooligan
, , , unbridled JJ unbridled passion NN passion
- : - and CC and no DT no executive JJ executiv
e boxes NNS box . SENT . </s>
......但这是输出:
PS D:> head -n 1 .\outputfile
ÿ_< t e x t i d = " h t t p : / / o b s e r v e r . g u a r d i a n . c o . u k / o s m / s t o r y / 0 , , 1 0 0 9 7 7 7 , 0
0 . h t m l " > < s > H o o l i g a n s N N S h o o l i g a n , ,
, u n b r i d l e d J J u n b r i d l e d p a s s i o n N N p a s s i o n
- : - a n d C C a n d n o D T n o e x e c u t i v e J J
e x e c u t i v e b o x e s N N S b o x . S E N T . < / s >
这怎么可能发生?
编辑:由于我的问题与Ruby没有任何关系,我删除了Ruby代码,并包含了我对Windows shell的使用。
答案 0 :(得分:22)
在PowerShell >
实际上与| Out-File
相同,Out-File默认为Unicode编码。试试这个,而不是使用>
:
... | Out-File outputfile -encoding ASCII