非ASCII(utf8)をリモートurxvt端末に貼り付ける

非ASCII(utf8)をリモートurxvt端末に貼り付ける

middle buttonテキストを貼り付けるには、urxvt / rxvt-unicodeでデフォルトの選択肢の貼り付けを使用できます。

ローカルの urxvt ターミナルやリモートサーバーでも、中国語/utf8 文字列の中央にマウスクリックペーストを実行できます。 EG環境でdate実行すると、LANG=zh_CN.utf8次のような結果が得られます。

$ date
2023年 03月 18日 星期六 15:01:11 EDT

それではマウスを使うことができます。選ぶ中国語/utf8文字列星期六とマウスの中ボタンをクリック生地私のurxvtターミナルに(私のエコーの後)例えば:

$ echo 星期六
星期六

私のローカルurxvt端末とリモートサーバーでも同様です。ただし、他のローカル・システムまたはOracle Cloudにsshを接続してecho 星期六コマンドラインに表示するのではなく、同じ方法を試してみると、次の結果が表示されます。

ここに画像の説明を入力してください。

全体を選択しecho 星期六てリモートセッションに転送すると、ローカルシステムまたはOracle Cloud Serverで機能します。

これはこれを示すスクリーンショットです。

ここに画像の説明を入力してください。

例えば

  • 中国語/utf8文字列がリモートのurxvt端末に正しく貼り付けられていません。
  • ただし、中国語/utf8文字列の前に通常のASCII文字が続くと、内容全体を正常に貼り付けることができます。

私のすべての環境はすべての環境で同じ構成を持っているので、私の構成にはローカルでのみ機能し、リモートでは機能しない奇妙な点があるようです。

(私のローカル・コンピュータとOracle Cloud Serverは、中国語/utf8文字列/ファイル名を正常に表示します。)

修正する:追加のデバッグ情報

$ locale 
LANG=zh_CN.utf8
LANGUAGE=
LC_CTYPE="zh_CN.utf8"
LC_NUMERIC="zh_CN.utf8"
LC_TIME="zh_CN.utf8"
LC_COLLATE="zh_CN.utf8"
LC_MONETARY="zh_CN.utf8"
LC_MESSAGES="zh_CN.utf8"
LC_PAPER="zh_CN.utf8"
LC_NAME="zh_CN.utf8"
LC_ADDRESS="zh_CN.utf8"
LC_TELEPHONE="zh_CN.utf8"
LC_MEASUREMENT="zh_CN.utf8"
LC_IDENTIFICATION="zh_CN.utf8"
LC_ALL=

$ locale charmap
UTF-8

$ grep '^set.*meta' ~/.inputrc
set meta-flag on
set input-meta On
set output-meta On

どうすれば修正できますか?

ベストアンサー1

おすすめ記事