回答:
アプリケーションの起動時に、アプリケーションのロケールはデフォルトの「C」または「POSIX」ロケールに設定されます。Cygwin 1.7.2以降では、このロケールはデフォルトでアプリケーションレベルのASCII文字セットになります。
...
前述の環境変数のいずれかを、「C」および「POSIX」以外の有効なPOSIXロケール値に設定したと仮定します。さらに日本に住んでいると仮定します。言語コード「ja」とテリトリー「JP」を使用して、たとえばLANGを「ja_JP」に設定することができます。
文字セットを設定しなかったので、Cygwinは今何を使用しますか?Cygwin 1.7.2以降、デフォルトの文字セットは、この言語と地域のデフォルトのWindows ANSIコードページによって決定されます。Cygwinは、Windows ANSIコードページに相当する典型的なUnixの文字セットを使用します。
デフォルトの文字セットを使用したくないですか?その場合、文字セットを明示的に指定する必要があります。たとえば、あなたが日本出身で、日本語のデフォルト文字セットEUC-JPを使用したくないが、Windowsのデフォルト文字セットSJISを使用したいとします。
たとえば、できることは、「オプション」ダイアログの「テキスト」セクションで、mintty CygwinターミナルのLANG変数を設定することです。
バッチファイルまたはバッチファイルへのショートカットを介してCygwinセッションを開始する場合は、LANGを設定することもできます。
@echo off
C:
chdir C:\cygwin\bin
set LANG=ja_JP.SJIS
bash --login -i