[ruby-list:49775] Re: TkDND での日本語名の扱い

From: Umino <jam280400@...>
Date: 2014-03-06 14:56:47 UTC
List: ruby-list #49775
Nakada さん
有難う御座います。

> $ ruby -e 'p ARGV[0].encode("iso-8859-1", "utf-8").encode("iso-8859-1", "utf-8")' $'\xC3\x83\xC2\xA3\xC3\x82\xC2\x81\xC3\x82\xC2\x82' 
> "\xE3\x81\x82"
> 
> ということで、UTF-8文字列にISO-8859-1(Latin-1)→UTF-8の変換を二度繰り返しているみたいですね。
> 

u8str = d[0].encode("iso-8859-1","utf-8").encode("iso-8859-1","utf-8")
後は
u8str.encode('cp932','utf-8')  もしくは  NKF.nkf('-Ws', u8str)
で見事に日本語パスを表示出来ました。

文字コードに関して上手く整理出来ておらず、もっぱらNKFだよりでしたので
複数回の変換がされているなど想像も出来ませんでした。
#何故、2回変換が行われるのかは分かりませんが・・・・

本当に助かりました。

In This Thread