ホーム ダウンロード 使用法 内部実装

UTF-8 Cygwin - 使用法 - グループ名「なし」問題について

2007/8/17 (鈴)

問題

日本語版 Windows 2000/XP 上の Cygwin で使われるデフォルトのグループ名が, 初期状態では Shift JIS で書かれた「なし」であることから, ls -l などとして, グループ名とともに漢字やかなを含んだファイル名やディレクトリ名を表示させると, UTF-8 Cygwin で文字化けを起こします。

表示されるバイト列がグループ名「なし」によって Shift JIS であると判断され, それに引きずられて, 同じバイト列に含まれる UTF-8 で書かれたファイル名等が誤解釈されるからです。

解決方法

筆者がとっている解決方法は, /etc/group を編集して

なし:S-1-5-21-1202660629-2147015523-1060284298-513:513:

のように「なし」ではじまっている行を

None:S-1-5-21-1202660629-2147015523-1060284298-513:513:

のように「None」に変更する方法です。

None というグループ名は英語版の Windows 2000/XP の場合と同じです。 このように変更すると,tar ファイルを作成したとき, グループ名に非 ASCII 文字が入らないため, 国内外の広範な Unix 類へ安心して持っていけるという利点もあります。 (実際,この理由により,筆者は昔からグループ名を None に替えていました。 最近まで日本語 Windows が「なし」で問題を引き起こすことに 素で気付いていませんでした)

Vista の場合

ちなみに,Windows Vista では日本語版でも元から None になりますから, この件について問題はありません。


ホーム ダウンロード 使用法 内部実装
Copyright (c) 2007 OKI Software Co., Ltd.