我们在Team Foundation Server (TFS)中有一个项目,其中有一个非英语字符(š)。当尝试编写一些与构建相关的脚本时,我们偶然发现了一个问题——我们不能将这个字母传递给命令行工具。命令提示符或其他东西会把它弄乱,tf.exe实用程序无法找到指定的项目。
我尝试了不同格式的.bat文件(ANSI, UTF-8,带BOM和不带BOM),以及用JavaScript编写脚本(本质上是Unicode) -但运气不好。如何执行程序并传递一个Unicode命令行?
我们在Team Foundation Server (TFS)中有一个项目,其中有一个非英语字符(š)。当尝试编写一些与构建相关的脚本时,我们偶然发现了一个问题——我们不能将这个字母传递给命令行工具。命令提示符或其他东西会把它弄乱,tf.exe实用程序无法找到指定的项目。
我尝试了不同格式的.bat文件(ANSI, UTF-8,带BOM和不带BOM),以及用JavaScript编写脚本(本质上是Unicode) -但运气不好。如何执行程序并传递一个Unicode命令行?
当前回答
我发现这个方法在新版本的Windows 10中很有用:
打开此功能:"Beta版:使用Unicode UTF-8支持全球语言"
控制面板->区域设置->管理选项卡->更改 系统区域设置…
其他回答
一个更好更干净的方法是:安装可用的免费微软日语包。(其他东方语言包也可以,但我已经测试了日语包。)
这将为您提供具有较大字形集的字体,使它们成为默认行为,更改各种Windows工具,如cmd, WordPad等。
检查非unicode程序的语言。如果你在Windows控制台中有俄语问题,那么你应该在这里设置俄语:
我发现这个方法在新版本的Windows 10中很有用:
打开此功能:"Beta版:使用Unicode UTF-8支持全球语言"
控制面板->区域设置->管理选项卡->更改 系统区域设置…
一个非常简单的选择是安装一个Windows bash shell,如MinGW并使用它:
有一点学习曲线,因为你将需要使用Unix命令行功能,但你会喜欢它的力量,你可以将控制台字符集设置为UTF-8。
当然,您还可以得到所有常见的*nix好东西,如grep、find、less等。
Try:
chcp 65001
这会将代码页更改为UTF-8。此外,还需要使用Lucida控制台字体。