質問: 初めまして、nagaoと言います。 ボケ防止と思い、久し振りに何かプログラム(ruby?, rails?) を始めようと思っている高齢者です。 まず利用していない古いサーバー用のPCに Linux MintMate インストールしました。エディターツールはやはりEmacsが良さそうなのでこれを使おうと思います。 ネットから情報を拾って下記の通りinit.elを作成してemacs24を起動させました。。サーバーからのTerminalのemacs24起動では多分init.elの設定がうまく反映されているように見えます。 しかしサーバー以外のWindows PCの Tera term(Version 4.89) SSHによる遠隔操作によるEmacs24では改行文字が?(クエッション) になります。Tera Termの端末設定は改行はCR(default)です。 遠隔操作はやはりSSH 通信による端末が一番早いのでこれをメインに使いたいと思っています。 何か対策はあるでしょうか?Lispはわかりません。 よろしくお願いします。 既に同様な質問がありましたら、繰り返してすみません。又、Tera Term側の問題でしたら ここで質問する事では無いことかもしれません。 「init.elの内容」 ``` (require 'cl) ;; .#* とかのバックアップファイルを作らない (setq auto-save-default nil) ;; 行番号を表示する (require 'linum) (global-linum-mode 1) ;; .#* とかのバックアップファイルを作らない (setq auto-save-default nil) ;; 対応する括弧を表示させる (show-paren-mode 1) ;; 現在行に色をつける (global-hl-line-mode 1) ;; cua-mode: 矩形編集を強力にする ;; リージョン選択中に C-RET で矩形編集に入る、C-g で終了 (require 'cua-mode nil t) (cua-mode t) (setq cua-enable-cua-keys nil) ;; 特殊文字の色付け (global-whitespace-mode 1) (setq whitespace-style '(face tabs tab-mark spaces space-mark newline newline-mark)) (setq whitespace-space-regexp "\\(\u3000+\\)") (setq whitespace-display-mappings '((space-mark ?\u3000 [?\u25a1]) ; 全角スペースを□で表わす (tab-mark ?\t [?\u00BB ?\t] [?\\ ?\t]) ; tab - left quote mark (newline-mark ?\n [?\u21B5 ?\n] [?$ ?\n]) ; eol - overscore )) (set-face-foreground 'whitespace-tab "#7594FF") (set-face-background 'whitespace-tab 'nil) (set-face-foreground 'whitespace-space "#7594FF") (set-face-background 'whitespace-space 'nil) (set-face-foreground 'whitespace-newline "#7594FF") (set-face-background 'whitespace-newline 'nil) ``` 質問に説明不足がありますので追加させてもらいます。 このinit.elを設定すると改行(カギの矢印)が ? にTera Termでは変わる ということです。 Tera Termは最新バージョンです。Tera Termの改行の設定(CR,CR+LF,LF) は送信/受信でどの組み合わせ変更してもダメでした。 printf '\u21B5'の結果は下記の通りです。 桁ずれしていますが、たぶん?が出力 されていると思います。 xx***xxx@yyy***yyy ~ $ printf '\u21B5' ?xx***xxx@yyy***yyy ~ $ サーバーのTerminalではコピー貼り付けできないので ここでは見せられませんがちゃんと改行マーク(カギ矢印)出る ようです。 上記内容に一部まずい個所があったので訂正します。 \21B5 => \u00B6 に変更すると指定された改行マーク がでました。ちょっと改行マークはでかいですがTera Termが 対応していないのなら仕方ありませんね。本当にどうもありがとう ございました。
回答: 現在のバージョンのTera Termは内部文字コードとしてShiftJIS(正確にはCP932)を使用しています。 その為、UTF-8等のUnicodeの文字を受け取った時に内部的にはCP932に変換し、CP932に無くて変換できない文字の場合は ? に置き換えて表示するようになっています。 この制限は将来的には内部文字コードをUnicodeに変更する事によって解消する予定ですが、現状では人手不足の為まったく手がついていない状態です。