HRR Co., Ltd.

技術的な記録を残していくことを目的としています。1次情報を大事にしています。

TeraTermのマクロで端末の文字コードを変更する

はじめに

今や大体のサーバーはUTF-8だと思うのですが、たまーにEUCだったりします。
そうなったときに、TeraTermなどターミナルエミュレータ文字コードを変更しないと、日本語が文字化けして困るときがあります。
たまになので面倒くさい…それをログインマクロで対応しようというお話です。

ちなみに、追加でプラグインをインストールしないといけません。
exeファイルを準備しましょう。

ja.osdn.net

マクロを使わずに文字コードを変更する場合

面倒でなければ、画面から設定しましょう。
「端末の設定」から、文字コードの変更が可能です。

f:id:hrroct:20190405210429p:plain

「送信」に赤マルをつけ忘れましたが…
受信と送信の両方を、例えば「EUC」に変更しましょう。
もし、「UTF-8」以外に変更ができない!という方は…

f:id:hrroct:20190405210441p:plain

「全般設定」の赤マルの部分が「UTF-8」になっている可能性があります。
「Japanese」に変更して再度挑戦してみましょう。

マクロを使って変更する場合

プラグインをインストールする

f:id:hrroct:20190405210346p:plain

上の画像の、選択されたプラグイン、「TTXKanjiMenu」を選んでインストールします。

マクロを書く

ポイントは下記マニュアルにもある、callmenuです。
ウィンドウのメニューを実行できます。

ttssh2.osdn.jp

マクロですが、具体的には下記のようになりました。

;; 設定
USER_NAME = 'UserName'
HOST_NAME = 'HostName'
PASS_FILE = 'C:\path\to\password.dat'

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;; パスワード取得
getpassword PASS_FILE USER_NAME password

;; sshコマンド作成
command = HOST_NAME
strconcat command ':22 /ssh /auth=password /user='
strconcat command USER_NAME
strconcat command ' /passwd='
strconcat command password

;; 接続
connect command

; EUC
callmenu 54011  ; [KanjiCode] Recv: EUC-JP 
callmenu 54111  ; [KanjiCode] Send: EUC-JP

;; マクロ終了
end

終わりに

TeraTermのマクロは便利ですね…これがあるので、私はTeraTermを使い続けております。
プラグインを使えば、メニューの項目をいじることができることもわかりました。

もっと別の、便利な使い方もできるとは思いますが、今回はここまで。
以上でした。