From: MOROHASHI Kyosuke Date: 2009-02-14T12:51:57+09:00 Subject: [ruby-dev:38005] Is URI.decode() broken? もろはしです。いつもお世話になっております。 Ruby 1.9.1p0で、URI.decode()がうまく動かないようです。 一文字ずつデコードされるため(?)、マルチバイト文字を復元できていません。 $ ruby19 -Ku -ruri -ve 'p ["日本語".dump, URI.unescape( URI.escape("日本語") ).dump]' ruby 1.9.1p0 (2009-01-30 revision 21907) [i686-darwin9] ["\"\\u{65e5}\\u{672c}\\u{8a9e}\"", "\"\\u{e6}\\u{97}\\u{a5}\\u{e6}\\u{9c}\\u{ac}\\u{e8}\\u{aa}\\u{9e}\""] 1.8.7ではきちんとデコードできています。 $ $ ruby -Ku -ruri -ve 'p ["日本語".dump, URI.unescape( URI.escape("日本語") ).dump]' ruby 1.8.7 (2008-08-11 patchlevel 72) [i686-darwin9] ["\"\\346\\227\\245\\346\\234\\254\\350\\252\\236\"", "\"\\346\\227\\245\\346\\234\\254\\350\\252\\236\""]