problema antigo:
leia os comentários de Kobylkin sobre este tópico ...
também
Lembre-se do Cygwin < 1.7 não tem localidades.
Mas no seu caso, o local parece ser bem interpretado ; é o processo iconv Transliteration
no Cygwin aquele que decide converter um único caractere em 2 (ou até mais) componentes em vez de um; no seu exemplo, você obtém o próprio caractere transliterado mais o modificador de caractere transliterado (acento, dieresis, til, ponto, etc.), se presente.
Å Ä Ö Õ Ũ É Á
A "A "O ~O ~U 'E 'A
Transliteration:
When a character cannot be represented in the target character set,
it can be approximated through one or several similarly looking characters
(https://www.gnu.org/software/libiconv/)
você pode ver o libiconv.dll
translit.def mostrando a fonte da tabela de transliteração (translit.h) criada durante o processo "make". Essa tabela mostra que o que o Cygwin faz é de fato correto.