3

GNU Win32 и MSYS великолепны, но кажется, что все их инструменты используют версию API Windows ANSI, а не версии Unicode.

Очевидно, что они предназначены для Windows 95 и 98, а не для Windows XP и Windows 7 ... и вызывают много проблем с любыми нетипичными именами файлов, строками и т.д.

Есть ли аналогичный POSIX набор инструментов (кроме Cygwin) , который использует версию Unicode на Windows API , (и который , таким образом , поддерживает Unicode)?

2 ответа2

2

Собственная подсистема Microsoft для приложений Unix (SUA). Хотя доступно только с Windows Ultimate и Enterprise.

Исправление: SUA не поддерживает Unicode. В соответствии с командой locale -a он поддерживает только ISO-8859-1, EUC-JP и SJIS.

Что касается примечания, MKS Toolkit, который является другой Unix-подобной средой для Windows, также не поддерживает Unicode в именах файлов, согласно его man- странице unicode.5.

Утилиты MKS Toolkit не могут обрабатывать символы не-OEM в именах файлов, если языковой стандарт не поддерживает двухбайтовые символы (например, японский языковой стандарт). Следовательно, даже если утилиты поддерживают символы UTF-8 и Unicode в файлах на всех платформах, для достижения максимальной переносимости на всех платформах Windows все имена файлов, используемые в сценариях для таких утилит, как awk, sh, csh и другие, должны содержать только символы ASCII из кодовая страница OEM.

0

Я бы предложил вам попробовать UTF-8 Cygwin(http://www.oki-osk.jp/esc/utf8-cygwin/) для совместимости с utf8.

Я использовал DeltaCopy, который основан на cygwin(он поставляется с cygwin1.dll при установке). Возникла проблема с обработкой китайского имени файла (многобайтовый символ в имени файла и имени папки)

После замены файла cygwin1.dll на версию «UTF-8 Cygwin». Все файлы Unicode, которые я синхронизирую с сервером, правильно загружены на сервер.

Это очень простое решение, поскольку в статистике «UTF-8 Cygwin» он работает с символами Юникода, но при этом сохраняет бинарную совместимость с текущим Cygwin.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .