From: Umino Date: 2014-03-06T12:50:47+09:00 Subject: [ruby-list:49771] TkDND での日本語名の扱い Umino と申します 実は以前に OKWaveに投稿した内容ですが、 回答無しで期限切れになってしまいました。 Ruby 2.0.0p353 (2013-11-22) [i386-mingw32] __ENCODING__ Windows-31J TkDND 2.6 上記の環境にて TkDNDで受け取る,日本語ファイル名が文字化けしてしまいます。 例えば txt = TkText.new(nil){ dnd_bindtarget('text/uri-list','','%D'){|d| p d insert('end',d[0]) insert('end',"\n") } } txt.pack として、 "c:/usr/dev/あ" という名前のファイルをドロップすると ["C:/usr/dev/\xC3\x83\xC2\xA3\xC3\x82\xC2\x81\xC3\x82\xC2\x82"] もちろん、TkTextでも文字化けしてしまいます。 素のTcl/Tk で同じように行った場合は文字化けなく実行 出来るので、Ruby側エンコ-ディングの扱いで何とかなる問題かとは 思っていますが、nkfで '-W','-W16' 等試しても対応できず そこから行き詰っています。 どなたか、変換方法 ご教授頂けないでしょうか。 宜しくお願いします。