• ベストアンサー

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

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

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

  • ベストアンサー
  • cynthia4
  • ベストアンサー率51% (186/358)
回答No.3

cygwin で ssh server を立ち上げて Poderosa で 接続するとか 私が、やりたいと思っていた事で 機会がなかなかなかったのでこの際やってみた。 特にお勧めとかではありません。

moritan2
質問者

お礼

ご回答ありがとうございます。 実は解決方法が分からなかったので、sshd を立ち上げて cygwinにputty で接続して使ってみました。これなら文字は化けません。 しかし、この方法の欠点はコマンドラインからwindows用のテキストエディターを立ち上げられないことです。windowsのテキストエディターは長年使っており、手になじんでいます。端末経由でcygwinを操作すると、windowsのエディターが使えないので vi を使うことになってしまいますが、どうも私はviは手になじみません。単なる慣れの問題かもしれませんが、現実に書き換えの時間が多くなるので、深刻です。 逆にいえば、この問題さえ解決すれば、cygwinの操作は端末経由でよいのですが。 もっと簡単な方法、たとえば環境変数を設定するだけで、漢字コードがS-JISになったりしないのでしょうか?

moritan2
質問者

補足

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

その他の回答 (5)

  • vmi
  • ベストアンサー率0% (0/1)
回答No.6

何処までマトモに動作するかは不明ですが、環境変数 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
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.5

Windows用テキストエディタというのはコマンドプロンプトで使うタイプの物でしょうか? もし、そうではなく、GUIのもの(メモ帳とか秀丸とか)で、Windowsのファイルの関連付けがされているものなら cygstart -e ファイル名 でexplorerの右クリック→「編集」と同じ動作になります。 CUIのものだとちょっと面倒ですが、 `cygpath -S -u`/cmd /c エディタ `echo "$*" | xargs -n 1 cygpath -w` のようなスクリプトを介して実行できないでしょうか。 あとは、vi以外にもemacsを始めとするエディタがあるので、試してはどうですか?

moritan2
質問者

補足

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

  • cynthia4
  • ベストアンサー率51% (186/358)
回答No.4

訂正 Poderosa は ssh server が起動していなくても cygwin に接続出来る。 Windows で ssh server を起動したいのと Poderosa を CentOS などと ssh 接続に使っているので 先走ってしまった。

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.2

方法1) インタラクティブではない、ただ出力されるだけのものなら、文字コード変換ツール(nkf等)を通してutf-8で出力する 方法2) 標準のコンソールをやめて、Shift_JISに対応しているターミナルを使う mintty Tera-term + CygTerm X Window + rxvt, xterm等 方法3) 新しくなったAPIとかもあるので、これを機会に、UTF-8にして再コンパイルする。

moritan2
質問者

補足

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

  • D-Matsu
  • ベストアンサー率45% (1080/2394)
回答No.1

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

moritan2
質問者

補足

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

関連するQ&A

  • 「cygwin」+「teraterm」文字化け対策について

    「cygwin」と「teraterm」を それぞれインストールした状態にて、 「teraterm」より [ファイル]→[Cygwin接続]にて Cygwinシェルを利用することができます。 が、日本語文字列はどうしも文字化けしてしまいます。 [設定]→[端末]にて文字コードを 「EUC」「SJIS」「JIS」「UTF-8」と試してみましたが、 すべてダメでした。 他に打開策がございましたら、 ご教授願えたらと考えます。 よろしくお願いします。

  • cygwin/sshd端末を旧来に戻す方法は?

    最近cygwinのコンソールがminttyに変わったらしいのですが、 これだと昔動いていたDOSのバッチが動きません。また文字化けもひどいです。 これだけなら昔のコンソールを立ち上げDOSバッチを起動すれば済むのですが、 ホストにcygwin/sshdをインストールし、リモートからsshで接続すると、 勝手にホスト側でminttyで繋げてしまい、リモートからバッチを起動しても動作しません。 なんとかcygwin/sshdのコンソールを昔のminttyではない旧来のコンソールにできないものでしょうか?

  • 文字コードの「Music S-JIS(MS-JIS)」と「S-JIS」の違いについて

    文字コードの「Music S-JIS(MS-JIS)」と「S-JIS」の違いについて教えて下さい。 S-JISのコード表はわかるので、MS-JISのコード表を教えて頂けると助かります。

  • VB2008EE でS-JISでエンコードできない

    お世話になります。 VB初心者でシリアル通信(RS232C)を作っております。 送受信は出来るようになったのですが、全角文字が送信・受信共に文字化けします。 英数字が正常に通信できることからエンコードが「UTF-8」になっていると思われますが、これを「S-JIS」に変更する方法がわかりません。インターネットでも色々調べているのですがVB2008は内部コードがUTF-8になっているみたいです。 送信する文字と受信する文字をS-JISでエンコードしたいのですが定義方法とかご存知の方がいましら教えていただければと思います。 今までC言語(PCM)を使っておりましたのでVBはまったくの素人です。 意味不明な質問になっているかもしれませんがご理解の上宜しくお願いいたします。

  • JIS C 6226(旧JIS)コードをパソコンで認識表示したい。

    測定装置から旧JISコードでデータが出力されていると思われますが、これをハイパーターミナルやTera Termで認識する方法を紹介してもらったんですが日本語を認識できません。Tera Termは旧JISデータ対応かと思われたんですが結果的にはハイパーターミナルと同じでした。シリアルポートからの旧JISを認識して、SJISで表示させるプログラムは無いでしょうか?探してみたんですが見つかりませんでした。前に無理じゃないかと助言を頂きましたが・・・。 それか旧JISコードをJISで受けて、JISで文字化けしたしたテキストファイルから逆に旧JISコードを認識させ改めてSJISに変換させることは可能でしょうか?ハイパーターミナル等で文字化けしたテキストを変換できないでしょうか?教え下さい。

  • HTMLがSHIFT-JISにならない

    いつもお世話になります<(_ _)> 携帯電話用サイトを作っているのですが、HTMLファイルの最初に <html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=SHIFT_JIS"> と設定しても、PCでアクセスした時にUTF-8で表示され文字化けされてしまいます。 HTML自体の文字コードはSHIFT-JISで保存されております。 手元に携帯電話がないので、まだ携帯表示は確認していませんが、スマートフォン(Android)で見ても文字化けしています。 なぜcharsetでSHIFT_JISを指定し、ファイルもSHIFT_JISで保存しているのにも関わらず、UTF-8になってしまうのでしょうか・・・? 同じような現象をご存じのかた、是非ともお力添え下さい。 宜しくお願い致します<(_ _)>

    • ベストアンサー
    • HTML
  • Cygwin インストール Perlを使うには

    現在 WindowsXP で Perl を書いています。文字コードは UTF-8 です。 ローカルでテストをしたいのですが、コマンドプロンプトでは文字化けしてしまう為 Cygwin を入れてみようとおもいました。 Cygwin のインストール手順を載せてくださっているサイトがあったので 参考にしながら進めていったのですが、 『Select Packages』 のところでどれを選んで良いのかわかりません。 # 参考にしたサイトでは "C++ を使うならこれを選択" "Fortran ならこれ" と記述されていたのですが # Perl について書かれているサイトが見つかりませんでした。 【質問まとめ】  ○ OS は WindowsXP  ○ Cygwin で Perl のコマンドを使いたい。(とりあえず perl, prove が使いたいです)  ○ Perlは既にインストール済  ● Cygwin のインストールで、 Select Packages で何を選んだら良いかわからない ご存じの方がいらっしゃいましたら教えてください。 ここに載ってる、等でも構いません。 よろしくお願いします。

  • リダイレクトする時の文字コードをUnicodeに

    現在、VisualStudioで、システムコールの標準出力結果をリダイレクトしてファイルに保存する プログラムを書いています。 _tsystem(command); のような感じで、commandには "hogehoge > hoge.txt"のように入ります。 ※command はTCHAR この出力結果が、Shift-Jisになっているようで、Shift-Jisだと日本語が文字化けせずに表示されるのですが、Unicode UTF-16にすると文字化けしてしまいます。 Unicode UTF-16とかUnicode UTF-8など文字コードを指定してリダイレクトできないのでしょうか。 ちょっと調べてみましたがうまく見つかりませんでした。

  • IEでのUTF-8がS-JISに変わる件について

    PHPでWebシステムを開発しております。 A.php内にインラインフレームをつくりそこに B.phpというファイルを表示させています。 どちらもファイルはUTF-8で作成しておりますが IEで表示した際にインラインフレーム内のみブラウザのエンコードが シフトJISになっており、文字化けします。 ちなみにA.phpはUTF-8で正常に表示されています。 こんな事があるのでしょうか? 対策などありましたらご教授下さい。

    • 締切済み
    • PHP
  • cygwinを導入したのにコンソールが起動しない

    win2000上にcygwinを導入しました。 導入後、デスクトップ上にcygwin起動のショートカットアイコンが 表示されるので、クリックしましたが、一瞬コンソールが開いて、 すぐ消えてしまい、そのあと何の反応もありません。 本体のほうをクリックしても同じ動作です。 cドライブが空き容量がすくなかったので、 dドライブに導入したのですが、問題ありませんよね? 何がいけないのかわかりません。教えてください。