以下 UTF-8 環境での話。

mlterm (2.9.4) で ???????? という文字列 (UTF-8) をコピーし、X上の
emacs (22.3.2) にペーストすると、JISX0213という扱いになってしまいます。
emacsで M-x describe-char してみると、たとえば ? なら、本来は

character: ? (299494, #o1110746, #x491e6, U+2666)
charset: mule-unicode-2500-33ff (Unicode characters of the range U+2500..U+33FF.)

となって欲しい所が

character: ? (135996, #o411474, #x2133c)
charset: japanese-jisx0213-1 (JISX0213 Plane 1 (Japanese))

となっています。

(1) emacs を -nw で立ち上げれば、このような変換は起きません。
(2) ターミナルエミュレータを xterm や urxvt にすれば、このような変換は起きません。
(3) mlterm の設定で receive_string_via_ucs を true にしても false にしても解消されません。
(4) emacs に Mule-UCSを導入しようがしまいが、解消されません。

いったい何が悪いのでしょうか。