アプリ版:「スタンプのみでお礼する」機能のリリースについて

cygwin1.7.1のコンソールでS-JISを表示するには?

以前のcygwinのコンソールはS-JISの出力が正しく表示されていました。1.7.1からはコンソールの文字コードがUTF-8になったようですが、S-JISで文字を出力する昔の遺産がたくさんあり、文字化けしてしまいます。

コンソールの文字コードをS-JISにするにはどうすればいいでしょうか?

A 回答 (6件)

cygwin で ssh server を立ち上げて


Poderosa で 接続するとか

私が、やりたいと思っていた事で
機会がなかなかなかったのでこの際やってみた。
特にお勧めとかではありません。

この回答への補足

cygwinが 1.7.2 になったのでもしやと思いバージョンアップしてみたら、問題点が消えていました。
setenv LANG ja_JP.SJIS
と環境変数を設定するだけで、コンソールがS-JIS対応になってくれるようです。
お礼にも書きましたが、これは当然の仕様のように思います。1.7.1はまだ不完全だったようです。

補足日時:2010/03/28 14:47
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

実は解決方法が分からなかったので、sshd を立ち上げて cygwinにputty で接続して使ってみました。これなら文字は化けません。

しかし、この方法の欠点はコマンドラインからwindows用のテキストエディターを立ち上げられないことです。windowsのテキストエディターは長年使っており、手になじんでいます。端末経由でcygwinを操作すると、windowsのエディターが使えないので vi を使うことになってしまいますが、どうも私はviは手になじみません。単なる慣れの問題かもしれませんが、現実に書き換えの時間が多くなるので、深刻です。

逆にいえば、この問題さえ解決すれば、cygwinの操作は端末経由でよいのですが。

もっと簡単な方法、たとえば環境変数を設定するだけで、漢字コードがS-JISになったりしないのでしょうか?

お礼日時:2010/03/16 22:36

何処までマトモに動作するかは不明ですが、環境変数 LANG に ja_JP.SJIS と設定するとShift_JIS(CP932)が使えます。



補足すると、
Unicodeを使う場合は ja_JP.UTF-8 です。
EUC-JPを使う場合は ja_JP.eucJP です。(が、誰が使うんだこんなの)

なお、URLは、Cygwin User's Guide の該当部分です。(英語ですが)

参考URL:http://cygwin.com/cygwin-ug-net/setup-locale.html
    • good
    • 0

Windows用テキストエディタというのはコマンドプロンプトで使うタイプの物でしょうか?



もし、そうではなく、GUIのもの(メモ帳とか秀丸とか)で、Windowsのファイルの関連付けがされているものなら
cygstart -e ファイル名
でexplorerの右クリック→「編集」と同じ動作になります。

CUIのものだとちょっと面倒ですが、
`cygpath -S -u`/cmd /c エディタ `echo "$*" | xargs -n 1 cygpath -w`
のようなスクリプトを介して実行できないでしょうか。

あとは、vi以外にもemacsを始めとするエディタがあるので、試してはどうですか?

この回答への補足

cygwinが 1.7.2 になったのでもしやと思いバージョンアップしてみたら、問題点が消えていました。

補足日時:2010/03/28 14:40
    • good
    • 0

訂正


Poderosa は
ssh server が起動していなくても
cygwin に接続出来る。

Windows で ssh server を起動したいのと
Poderosa を CentOS などと ssh 接続に使っているので
先走ってしまった。
    • good
    • 0

方法1)


インタラクティブではない、ただ出力されるだけのものなら、文字コード変換ツール(nkf等)を通してutf-8で出力する

方法2)
標準のコンソールをやめて、Shift_JISに対応しているターミナルを使う
mintty
Tera-term + CygTerm
X Window + rxvt, xterm等

方法3)
新しくなったAPIとかもあるので、これを機会に、UTF-8にして再コンパイルする。

この回答への補足

cygwinが 1.7.2 になったのでもしやと思いバージョンアップしてみたら、問題点が消えていました。
setenv LANG ja_JP.SJIS
と環境変数を設定するだけで、コンソールがS-JIS対応になってくれるようです。

補足日時:2010/03/28 14:44
    • good
    • 0

出力をUTF-8に変換する方を考えた方が楽ではないでしょうか。


nkf -wとか。

この回答への補足

cygwinが 1.7.2 になったのでもしやと思いバージョンアップしてみたら、問題点が消えていました。
setenv LANG ja_JP.SJIS
と環境変数を設定するだけで、コンソールがS-JIS対応になってくれるようです。

補足日時:2010/03/28 14:43
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!