批处理文件中包含UTF-8字符的命令行参数会导致麻烦
作者:互联网
我写了一个小实用程序,将路径作为命令行参数,但如果(且仅当)该参数从批处理文件传递且包含诸如Umlauts之类的UTF-8字符时遇到麻烦(不幸的是,当系统语言为德语).
我可以从项目调试属性中使用Umlaut传递文件名,没问题.
我可以从命令行通过Umlaut传递文件名,没问题.
我通过Umlaut从批处理文件传递文件名,混乱.
显然,我曾尝试保存UTF-8编码的批处理文件……但是,该死的东西将不会执行任何命令.
实际程序是用C#编写的.
在批处理文件或代码端,我必须使用哪些选项来正确处理这些参数?
解决方法:
将CHCP 1252用作批处理的第一行,它将与路径一起使用.
编辑:刚刚测试.它会工作.参数在无法获得正确输出(通过回显)的地方有效.
无论如何,如果您尝试回显诸如“öäü”之类的内容,它将无法正确显示.
要完全解决它,请给自己一个编辑器,该编辑器能够将您的文件保存为ASCII编码(据我所知不能使用记事本).
标签:utf-8,c,batch-file 来源: https://codeday.me/bug/20191119/2039939.html