以前、いきなりCygwinがUTF-8環境になって何だこりゃって思ったことがあったのですが、どうやらWindowsではなくcygwin1.dll 1.7以降の変更が原因らしいです。
そっちかーということで、LANG=ja_JP.SJIS の設定をcygterm.cfgに入れて対応。.bash_profileでもいいけど。ただ、相変わらずls -l のグループ名の「なし」が化けるんだよね。うーん、どうしたもんかと思ってたら、/etc/group に登録されてる名前を使っていたらしい。これがUTF-8だと、いくらLANGをShift JISにしても意味ないわな。てっきりWindowsのファイル属性なんだとばかり思っていた・・・。意外とCygwinは内部で閉じている!
- http://linux-linux.seesaa.net/article/122675321.html
- http://www.oki-osk.jp/esc/utf8-cygwin/none-problem.html
おおお素晴らしい!日本語が入ってくるのがいつも気持ち悪かったので嬉しいな。ついでに /etc/passwd ユーザー名も変えて、root:systemにしておいた。
うーむ、これで言語周りはカンペキだな。大体、CygwinだけUTF-8にしたって、肝心のwindowsがsjisなんだから色んなところで齟齬が出てくるんだ。いちいちwindows nativeコマンドの戻りをnkf -wするエイリアスを作るのは面倒なんだ。
utf-8ベースで楽ちんだな、と思ったのは、Perlの内部文字列をdecodeしないでそのまま出力できることくらいかな。