円マークでの混乱、\、¥、¥

多分組み合わせ的にレアなケースだと思うのだけど、円マークで混乱してしまった。

環境

やりたかった事

# coding: utf-8
require 'win32ole'
wsh = WIN32OLE.new 'WScript.Shell'
wsh.Run '"C:\Program Files\<云々>\<実行ファイル名>" <オプションとか>'

そしてエラー

<Rubyスクリプト>.rb:<行>:in `method_missing': (in OLE method `Run': ) (WIN32OLERuntimeError)
    OLE error code:80070002 in <Unknown>
      <No Description>
    HRESULT error code:0x80020009
      Exception occurred.
        from <Rubyスクリプト>:<行>:in `<main>'

所要の Rubyスクリプトxyzzy で編集していた、その文字エンコーディングは「Unicode (UTF-8N)」(ツール - ローカル設定 - もろもろ)。動かしたかった実行ファイル名は Windowsエクスプローラーからドラッグ&ドロップしてきたもの。そのディレクトリ区切り文字「\(バックスラッシュ、"\\".ord # => 92)」がいつの間にか「¥(&yen;、&#165;)」にすり替わっていた(それは「¥(全角円マーク、'¥'.ord # => 65509)」でもない)。
で、.Run で実行しようとしてもそんなファイル見つからずエラーになる。
xyzzy の編集画面では、「¥(&yen;、&#165;)」も半角幅の表示で、はじめ違うとは思いもしなかった、疑ってよく見るとフォントフェイスがちょっと違うのだけど。
別にコピー&ペーストしても「\(バックスラッシュ、"\\".ord # => 92)」になるし、いろいろ動いたり動かなかったりでなんか大変混乱した。WindowsShift_JIS(Windows-31J) をコピーしてきて xyzzy で UTF-8N にコード変換するときになんかあったんだろうか。

分かってしまえばよく目を凝らせば良いことなんだけど、それまで随分時間掛かった。