[ruby-list:49771] TkDND での日本語名の扱い
From:
Umino <jam280400@...>
Date:
2014-03-06 03:50:47 UTC
List:
ruby-list #49771
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','<Drop>','%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' 等試しても対応できず
そこから行き詰っています。
どなたか、変換方法 ご教授頂けないでしょうか。
宜しくお願いします。