Ferramentas POSIX baseadas em Unicode (além do Cygwin) para Windows?

3

GNU Win32 e MSYS são impressionantes, mas parece que todas as suas ferramentas usam a versão ANSI da API do Windows, em vez das versões Unicode.

Obviamente, eles são voltados para Windows 95 e 98, não para Windows XP e Windows 7 ... e causam muitos problemas com nomes de arquivos atípicos, strings, etc.

Existe algum conjunto de ferramentas POSIX similar ( outro que o Cygwin) que usa as versões Unicode da API do Windows (e que, portanto, suporta Unicode)?

    
por Mehrdad 03.01.2012 / 04:22

2 respostas

2

Subsistema da Microsoft para Unix Applications (SUA). Disponível apenas no Windows Ultimate e Enterprise.

Correção : o SUA não tem suporte para Unicode. De acordo com seu comando locale -a , ele suporta apenas ISO-8859-1, EUC-JP e SJIS.

Em uma nota relacionada, o MKS Toolkit , que é outro ambiente similar ao Unix para Windows, também não suporta Unicode em nomes de arquivos, de acordo com sua página de manual unicode.5 .

MKS Toolkit utilities cannot handle non-OEM characters in file names unless the locale supports double byte character (such as the Japanese locale). Consequently, even though the utilities support UTF-8 and Unicode characters in files on all platforms, to achieve maximum portability across all Windows platforms, all file names used in scripts for utilities like awk, sh, csh and others should contain only ASCII characters from the OEM code page.

    
por 03.01.2012 / 06:58
0

Eu sugiro que você experimente o UTF-8 Cygwin ( link ) para compatibilidade utf8.

Eu estava usando o DeltaCopy que é baseado no cygwin (Ele vem com o cygwin1.dll quando instalado). Estava tendo problemas para lidar com o nome do arquivo chinês (caractere multibyte no nome do arquivo e nome da pasta)

Depois de substituir o arquivo cygwin1.dll pela versão "UTF-8 Cygwin". Todos os arquivos Unicode que eu sincronizo com o servidor são enviados corretamente para o servidor.

Esta é uma solução muito simples, pois o "UTF-8 Cygwin" indica que ele lida com caracteres unicode, mas ainda mantém a compatibilidade binária com o Cygwin atual.

    
por 14.12.2013 / 20:32