う?IEのときうまくいかないのはひょっとしてCGIクラスのせいかも?

う?IEのときうまくいかないのはひょっとしてCGIクラスのせいかも?

 #!/usr/bin/ruby -Ke
 require 'cgi'
 require 'nkf'
 class CGI_JP < CGI
   def brawser			# 
     b=&#39;&#39;
     agent=self.user_agent
     case agent
     when /Opera/
       b=&#39;Opera&#39;
     when /Gecko/
       case agent
       when /Win/
 	b=&#39;Mozilla(win)&#39;
       else
 	b=&#39;Mozilla(unix)&#39;
       end
     when &#39;Mozilla/4.06 [ja] (WinNT; I)&#39;
       b=&#39;NN4&#39;
     when /DigExt/
       b=&#39;IE4&#39;
     else
       b=&#39;etc&#39;
     end
     b
   end
   def path_info_jp		# path_infoにオーバライド出来ない
     txt=path_info
     case self.brawser
     when &#39;Opera&#39;
       `echo #{CGI::unescape(txt)}|iconv -f utf8 -t euc-jp`
     when &#39;Mozilla(win)&#39;
       NKF::nkf(&#39;-eS&#39;,CGI::unescape(txt))
     when &#39;Mozilla(unix)&#39;
       CGI::unescape(txt)
     when &#39;IE4&#39;
       if /%[0-9A-Z][0-9A-Z]/.match(txt)	# 違ったURLエンコードじゃない
 	`echo #{CGI::unescape(txt)}|iconv -f utf8 -t euc-jp`
       else
 	NKF::nkf(&#39;-eS&#39;,txt)
       end
     when &#39;NN4&#39;
 	NKF::nkf(&#39;-eS&#39;,txt)
     else
       txt
     end
   end
 end
 cgi=CGI_JP.new
 puts "content-type: text/html"
 puts "\n\n"
 puts %Q(<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">)
 puts %Q(<html lang="ja-JP">)
 puts %Q(<head>)
 puts %Q(<meta http-equiv="content-type" content="text/html; charset=EUC-JP">)
 puts "</head>"
 print "<body>"
 puts &#39;<h1>ブラウザ予想</h1>&#39;
 puts cgi.brawser
 puts "<h1>user_agentの値</h1>"
 puts cgi.user_agent
 puts "<h1>path_infoの値</h1>"
 puts cgi.path_info_jp  
 puts "<h1>urlエンコード</h1>"
 puts "#{CGI::escape(%Q(#{NKF::nkf(&#39;-eS&#39;,cgi.path_info)}))}"
 if cgi.has_key?(&#39;k&#39;)
   puts "<h1>そのまま表示</h1>"
   puts "#{cgi[&#39;k&#39;].join(&#39;,&#39;)}"
   puts "<h1>urlエンコード</h1>"
   puts "#{CGI::escape(cgi[&#39;k&#39;][0])}"
 else
   puts "no k"
 end
 puts "<h1>アンカー実験</h1>"
 puts &#39;<a href="/jp/日本語?k=日本語&k=表示">日本語アンカー</a>&#39;