解決済みの質問
cygwin1.7.1のコンソールでS-JISを表示するには?
以前のcygwinのコンソールはS-JISの出力が正しく表示されていました。1.7.1からはコンソールの文字コードがUTF-8になったようですが、S-JISで文字を出力する昔の遺産がたくさんあり、文字化けしてしまいます。
コンソールの文字コードをS-JISにするにはどうすればいいでしょうか?
投稿日時 - 2010-03-15 10:19:05
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
13人が「このQ&Aが役に立った」と投票しています
ベストアンサー以外の回答(5件中 1~5件目)
何処までマトモに動作するかは不明ですが、環境変数 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
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
方法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