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

解決済みの質問

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

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

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

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

投稿日時 - 2010-03-15 10:19:05

QNo.5753136

すぐに回答ほしいです

質問者が選んだベストアンサー

cygwin で ssh server を立ち上げて
Poderosa で 接続するとか

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

投稿日時 - 2010-03-16 16:00:50

補足

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

投稿日時 - 2010-03-28 14:47:14

お礼

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

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

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

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

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

投稿日時 - 2010-03-16 22:36:11

ANo.3

13人が「このQ&Aが役に立った」と投票しています

[  前へ  |  次へ ]

ベストアンサー以外の回答(5件中 1~5件目)

ANo.6

vmi

何処までマトモに動作するかは不明ですが、環境変数 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

投稿日時 - 2010-03-23 11:27:41

ANo.5

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

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

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

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

投稿日時 - 2010-03-17 00:00:52

補足

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

投稿日時 - 2010-03-28 14:40:55

ANo.4

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

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

投稿日時 - 2010-03-16 17:02:58

ANo.2

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

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

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

投稿日時 - 2010-03-15 19:39:12

補足

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

投稿日時 - 2010-03-28 14:44:25

ANo.1

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

投稿日時 - 2010-03-15 14:12:27

補足

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

投稿日時 - 2010-03-28 14:43:32

あわせてチェックしたい
  • 「cygwin」+「teraterm」文字化け対策について ...
  • [perl5.8] utf8で文字出力すると文字化けする ...
  • Cygwinで日本語化け(UTF-8) ...
PR
【回答募集中】花粉にひと言、物申す![ 詳細 ]

OKWaveのオススメ

教えて弁護士さん!

お金の悩みQ&A特集はこちら