старая проблема:
читать комментарии Кобылкина к этой теме ...
https://sourceware.org/bugzilla/show_bug.cgi?id=2872#c2
также
http://www.yqcomputer.com/422_10096_1.htm
Помните, что у Cygwin <1.7 нет локалей.
Но в вашем случае местный кажется хорошо интерпретированным ; это процесс Transliteration
iconv на Cygwin, который решает преобразовать один символ в 2 (или даже больше) компонентов вместо одного; в вашем примере вы получите сам транслитерированный символ плюс модификатор транслитерированного символа (акцент, диерезис, тильда, точка и т. д.), если он присутствует.
Å Ä Ö Õ Ũ É Á
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/)
вы можете увидеть libiconv.dll
translit.def, показывающий источник таблицы транслитерации (translit.h), созданной в процессе "make". Эта таблица показывает, что то, что делает Cygwin, на самом деле правильно.