Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 启动批处理文件和编码_C#_.net_Batch File_Encoding - Fatal编程技术网

C# 启动批处理文件和编码

C# 启动批处理文件和编码,c#,.net,batch-file,encoding,C#,.net,Batch File,Encoding,我在处理.NET中的bat/批处理文件时遇到了一些问题。 我会处理.Start并且我可以启动实际的文件,但是,如果bat文件是用UTF8编码的,它会被错误地解码,因为DOS使用其他编码 我可以用不同的编码开始这个过程吗?这会影响实际bat文件的编码吗 bat文件包含在项目中作为“始终复制”资源,我不太习惯使用DOS编码保存它,并将其检查到TFS中,然后将其分发给所有团队成员,非常确定这最终会爆炸。UTF应该是完全正常的,我认为问题在于BOM(字节顺序标记)在文件的开头。要摆脱它: 选择另存为并扩

我在处理.NET中的bat/批处理文件时遇到了一些问题。 我会
处理.Start
并且我可以启动实际的文件,但是,如果bat文件是用UTF8编码的,它会被错误地解码,因为DOS使用其他编码

我可以用不同的编码开始这个过程吗?这会影响实际bat文件的编码吗


bat文件包含在项目中作为“始终复制”资源,我不太习惯使用DOS编码保存它,并将其检查到TFS中,然后将其分发给所有团队成员,非常确定这最终会爆炸。

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


选择另存为并扩展文件对话框中的保存按钮,然后选择“使用编码保存”。或者,如果您想永久取消此设置,只需打开“文件”菜单并选择“高级保存选项”,然后在那里选择“无签名UTF-8”(这也回答了您的最后一个问题:)。是“无签名UTF-8”与无BOM相同。()

如果先使用chcp切换到unicode,会发生什么情况?例如:应该注意的是,UTF8中的BOM通常不受Unicode规范本身的影响,这正是因为它破坏了原本良好的ASCII兼容性。因此,对于所有尚未启用的UTF8处理器,禁用BOM通常是标准做法。