URLEncodeするメモ

URIモジュールで結構色々できるもんだな.

require 'uri'
$KCODE = 'u'

str = "ムサシ mad"

puts URI.encode(str)

これで,出力はこうなる.

$ ruby urienc.rb 
%E3%83%A0%E3%82%B5%E3%82%B7%20mad


でも,上の例はあくまでもUTF-8.Shift-JISならどうなるか?

$ ruby urienc.rb 
%83%80%83T%83V%20mad

やっぱり違う.半角スペースだけは同じ.


YouTubeのタグは,どっちが対応してるか?というと,当たり前だけどUTF-8だけ.Shift-JISだとInternal Server Errorが発生する.


ちなみに,WikipediaUTF-8だった.
http://ja.wikipedia.org/wiki/MUSASHI_GUN%E9%81%93

require 'uri'
$KCODE = 'u'

str = "MUSASHI_GUN%E9%81%93"
puts URI.decode(str)
=>
MUSASHI_GUN道

str = "MUSASHI_GUN道"
puts URI.encode(str)
=>
MUSASHI_GUN%E9%81%93


時代はUTF-8ですよ.