▼スレッド
│
└◇1210:LANGの設定 [lll] 05/28 13:55
└◇1214:Re:LANGの設定 [MSだす。] 05/29
└◇1216:Re[2]:LANGの設定 [Rocco] 05/29
└◇1224:Re[3]:LANGの設定 [中島] 06/02
├◇1226:Re[4]:LANGの設定 [森] 06/02
│└◇1233:Re[5]:LANGの設定 [MSだす。] 06/05
└◇1227:Re[4]:LANGの設定 [Rocco] 06/02
└◇1273:Re[5]:LANGの設定 [nil] 06/23 <
LANGを ja_JP.SJIS に設定すると、コマンドのエラーメッセージの日本語が化けます。スレッド一覧
Cygwin console上(こんな呼び方で正しい?)での話です。
LANG は何に設定すべき?なんでしょう?
ちなみに、$HOME/.inputrc には以下を書いています。
set kanji-code sjis
set convert-meta off
set meta-flag on
set output-meta on
”Cygwin console”というのはWindowsのコマンドプロンプトスレッド一覧
のウィンドウのことですよね。
この場合、当然日本語はSJISしか表示できません。
そしてそのエラーメッセージは多分EUCなのでしょう。
(cygwinの開発陣はSJIS用のメッセージを用意してくれるわけではないのです。)
ですから自分でSJISのメッセージを用意するか
どこかで手に入れるか、
あるいはコマンドプロンプトウィンドウではなく
EUCの使えるターミナル(rxvtとか)を使うことにして
export LANG=ja_JP.eucJP
にするか、そのいずれかになるでしょう。
UNIX の日本語化されたコマンドの多くは EUC でメッセージを出すものが多いですね。スレッド一覧
rxvt とか、TeraTerm を使って telnet するとか、どうしても Windows のコンソールが好きなら、cocot + telnet とかという方法を使うのが後々楽だと思います。
シェルの起動時には、LANG=C にするのが一番無難な気がします。スレッド一覧
私自身は、スレッド一覧
ここから www2.iro.umontreal.ca/~pinard/po/registry.cgi?team=ja EUC_JP 用 PO ファイルをダウンロードし、
nkf で SHIFT_JIS 変換し、
PO ファイルの先頭のほうにある
"Content-Type: text/plain; charset=EUC-JP\n"
を SHIFT_JIS に書き直して、
msgfmt を使って MO ファイルを作成し、
/usr/share/locale/ja_JP.SJIS/LC_MESSAGES に置いていますが、面倒くさくって お勧めできないです。
(結構頻繁にアップされるので、段段ずれてきて 英語だけの表示になってしまう)
森
日本語のあつかいは人によって、いろいろってわけですね。スレッド一覧
でも、そうか、sjis化してもいまいちですか。
僕自身はもっぱらja_JP.eucJPです。このサイトの日本語パッチをあてた
rxvt、2.7.2-14-j05.3b-2で以下のようなバッチファイルを
作ってCygwinを起動してます。
set LANG=ja_JP.eucJP
chdir C:\cygwin\bin
start /b rxvt.exe -fn 18 -fm msgothic-18-jisx0208 -km eucj -vb -bg '#301050' -fg '#f0d0f0' -e bash --login -i
こうすると、このrxvtはsjis-euc変換をしてくれます。
メッセージが日本語でる他、MS-IME(実際はskkimeを使ってますが)
で日本語の入力できます。
.bash_profileや.bashrcでLANG設定をしているわけでは
ないので、コマンドプロンプトでCygwinを使うときは
LANGは未設定になっていて、メッセージなどは英語に
なります。
確かに楽ですね。スレッド一覧
最近まで、
$ LANG=C command
っていう表記ができるのを知らなくて、ずっと export LANG=C してました。
gtk を使ったものが文字化けして、感を頼りにしてました。(ぉぃぉぃ)
完全に日本語化しない限り LANG=C は知っていて損はないですね。
CygwinだとLANG=Cでもあまり違いはなさそうなのですが、スレッド一覧
他の国際化の少しはましなシステムでは日本語処理などの
都合の悪くなる事も多いです。
要はメッセージと日付だけは英文字のままにしておきたい
事が多いので、習慣的に初期化で、LANGの設定は任意のまま、
LC_TIME=C、LC_MESSAGES=C を設定しています。