【发布时间】:2008-11-12 21:43:48
【问题描述】:
我有一个小的 c# 控制台程序,它使用 Console.WriteLine 输出一些文本。然后我将此输出通过管道传输到一个文本文件中,例如:
c:myprogram > textfile.txt
但是,该文件始终是 ansi 文本文件,即使我使用 /u 开关启动 cmd 也是如此。 命令/?谈到 /u 开关:
/U 导致内部输出 将管道或文件的命令设为 Unicode
当我做一个
c:echo "foo" > text.txt
text.txt 是 unicode(没有 BOM)
我想知道为什么将我的控制台程序的输出通过管道传输到一个新文件不会同样创建一个 unicode 文件,我该如何改变它?
我只是使用 Windows Power Shell(它会生成一个具有正确 BOM 的 unicode 文件),但我仍然想知道如何使用 cmd 来完成。
谢谢!
【问题讨论】: