答案1
Microsoft 自己的 Unix 应用程序子系统 (SUA)。但仅适用于 Windows Ultimate 和 Enterprise。
更正:SUA 不支持 Unicode。根据其locale -a
命令,它仅支持 ISO-8859-1、EUC-JP 和 SJIS。
相关说明一下,MKS 工具包是 Windows 的另一个类 Unix 环境,根据其Unicode.5手册页。
除非语言环境支持双字节字符(例如日语语言环境),否则 MKS Toolkit 实用程序无法处理文件名中的非 OEM 字符。因此,即使实用程序在所有平台上都支持文件中的 UTF-8 和 Unicode 字符,但为了在所有 Windows 平台上实现最大程度的可移植性,awk、sh、csh 等实用程序脚本中使用的所有文件名都应仅包含来自 OEM 代码页的 ASCII 字符。
答案2
我建议你尝试一下 UTF-8 Cygwin(http://www.oki-osk.jp/esc/utf8-cygwin/) 以实现 utf8 兼容性。
我使用的是基于 cygwin 的 DeltaCopy(安装时附带 cygwin1.dll)。它在处理中文文件名(文件名和文件夹名中的多字节字符)时遇到问题
在我将 cygwin1.dll 文件替换为“UTF-8 Cygwin”版本后,我同步到服务器的所有 Unicode 文件都正确上传到服务器。
这是一个非常简单的解决方案,因为“UTF-8 Cygwin”统计它处理unicode字符,但仍然保持与当前Cygwin的二进制兼容性。