[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回変換が行われるのかは分かりませんが・・・・
本当に助かりました。