ストリームから取ってきたデータが文字化け(?)してしまう。


(大雑把ですが)下記のようにfgetsで取ってきたデータが文字化けをしてしまっています。ブラウザから動かした時も、コマンドプロンプトから動かした時も同様でした。

$connection = ssh2_connect();
$stream = ssh2_shell($connection);
$line = fgets($stream);
print($line);

見当がつく方いらっしゃったら、よろしくお願いします。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2009/06/11 23:59:23
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答1件)

id:pahoo No.1

回答回数5960ベストアンサー獲得回数633

ポイント60pt

文字化けするのは、半角英数字ですか、それとも日本語文字ですか。

日本語文字の文字化けの場合は、SSHサーバ側とクライアント側の文字コードが一致していないということはありませんか。

id:rapuntuleru

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

半角英数字が文字化けします。(あまり自信がないのですが)多分、サーバ側はASCIIコードで出力していると思います。

print()の前に書きのコードを入れてみましたが、変わりませんでした。

$line1 = mb_convert_encoding($line1,"SJIS","ASCII,JIS,UTF-8,EUC-JP,SJIS");

2009/06/11 22:30:02
  • id:rapuntuleru
    質問者です。すみません、文字化けではありませんでした。
    例えば、
    fwrite($strewm,"show running-config");
    とか打つと、↓のように、コマンドの間になぞの文字が割り込む?ようで、何がおきているのやら…という感じです。。。

    show runni[?25hng-config[?25h2222

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません