我写了一个小实用程序,它将路径作为命令行参数,但是如果(并且仅当)该参数从批处理文件传递并且包含像Umlauts这样的UTF-8字符(我很遗憾)当系统语言是德语时很常见。)
我可以从项目调试属性传递Umlaut的文件名,没问题。 我可以从命令行传递文件名和Umlaut,没问题。 我从批处理文件中传递了一个带有Umlaut的文件名,混乱。
显然,我已经尝试将批处理文件保存为UTF-8编码...但是这个darn的东西不会执行任何命令。
实际程序是用C#编写的。 我有什么选项可以在批处理文件或代码端正确处理这些参数?
答案 0 :(得分:3)
使用CHCP 1252
作为批次的第一行,它将适用于路径。
编辑刚刚测试过。它会工作。
表示参数正在输出正确的输出(通过回声)无论如何,如果你试图回应“öäü”这样的东西,它将无法正确显示。
要完全解决这个问题,请找一个能够以ASCII编码方式保存文件的编辑器(根据我的知识,notepad ++)。
答案 1 :(得分:0)
您可以将PowerShell脚本用于UTF 8.批处理器仅支持ASCII文件。