Process.Start批处理文件和编码

时间:2015-01-14 07:32:42

标签: c# .net batch-file encoding

我在处理来自.NET的bat / batch文件时遇到了一些问题。 我做Process.Start我可以启动实际文件,但是,如果bat文件是用UTF8编码的,那么由于DOS使用其他编码,它会被错误解码。

我可以使用不同的编码启动进程吗?这会影响实际bat文件的编码吗?

bat文件在项目中被包含为Copy Always资源,我不太习惯使用DOS编码保存它并将其检入TFS并将其分发给所有团队成员,非常肯定这最终会爆炸。

1 个答案:

答案 0 :(得分:1)

UTF应该是完全正常的,我认为问题是文件开头的BOM(字节顺序标记)。摆脱它:

选择另存为并扩展文件对话框中的保存按钮,然后选择“使用编码保存”。或者,如果您想要永久删除此设置,只需打开文件菜单并选择“高级保存选项”,您应该选择“没有签名的UTF-8”(这也回答了您的上一个问题:)。是“没有签名的UTF-8”与没有BOM的情况相同。 (UTF-8 without BOM